diff --git a/.gitignore b/.gitignore
index 52b0681..2e954bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,8 @@ vim-7.2-lang.tar.gz
 vim-7.2.tar.bz2
 /vim-7.3.tar.bz2
 /vim-7.4.tar.bz2
+/vim-7.4-909.tar.bz2
+/vim-7.4-917.tar.bz2
+/vim-7.4-922.tar.bz2
+/vim-7.4-930.tar.bz2
+/vim-7.4-941.tar.bz2
diff --git a/7.4.001 b/7.4.001
deleted file mode 100644
index 5788972..0000000
--- a/7.4.001
+++ /dev/null
@@ -1,489 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.001
-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.001
-Problem:    Character classes such as [a-z] to not react to 'ignorecase'.
-	    Breaks man page highlighting. (Mario Grgic)
-Solution:   Add separate items for classes that react to 'ignorecase'.  Clean
-	    up logic handling character classes.  Add more tests.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.000/src/regexp_nfa.c	2013-08-01 18:27:51.000000000 +0200
---- src/regexp_nfa.c	2013-08-14 11:49:50.000000000 +0200
-***************
-*** 29,34 ****
---- 29,37 ----
-  # define NFA_REGEXP_DEBUG_LOG	"nfa_regexp_debug.log"
-  #endif
-  
-+ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */
-+ #define NFA_ADD_NL		31
-+ 
-  enum
-  {
-      NFA_SPLIT = -1024,
-***************
-*** 183,188 ****
---- 186,198 ----
-      NFA_NLOWER,		/*	Match non-lowercase char */
-      NFA_UPPER,		/*	Match uppercase char */
-      NFA_NUPPER,		/*	Match non-uppercase char */
-+     NFA_LOWER_IC,	/*	Match [a-z] */
-+     NFA_NLOWER_IC,	/*	Match [^a-z] */
-+     NFA_UPPER_IC,	/*	Match [A-Z] */
-+     NFA_NUPPER_IC,	/*	Match [^A-Z] */
-+ 
-+     NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL,
-+     NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL,
-  
-      NFA_CURSOR,		/*	Match cursor pos */
-      NFA_LNUM,		/*	Match line number */
-***************
-*** 199,207 ****
-      NFA_MARK_LT,	/*	Match < mark */
-      NFA_VISUAL,		/*	Match Visual area */
-  
--     NFA_FIRST_NL = NFA_ANY + ADD_NL,
--     NFA_LAST_NL = NFA_NUPPER + ADD_NL,
-- 
-      /* Character classes [:alnum:] etc */
-      NFA_CLASS_ALNUM,
-      NFA_CLASS_ALPHA,
---- 209,214 ----
-***************
-*** 578,583 ****
---- 585,592 ----
-   * On failure, return 0 (=FAIL)
-   * Start points to the first char of the range, while end should point
-   * to the closing brace.
-+  * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may
-+  * need to be interpreted as [a-zA-Z].
-   */
-      static int
-  nfa_recognize_char_class(start, end, extra_newl)
-***************
-*** 681,687 ****
-  	return FAIL;
-  
-      if (newl == TRUE)
-! 	extra_newl = ADD_NL;
-  
-      switch (config)
-      {
---- 690,696 ----
-  	return FAIL;
-  
-      if (newl == TRUE)
-! 	extra_newl = NFA_ADD_NL;
-  
-      switch (config)
-      {
-***************
-*** 710,722 ****
-  	case CLASS_not | CLASS_az | CLASS_AZ:
-  	    return extra_newl + NFA_NALPHA;
-  	case CLASS_az:
-! 	   return extra_newl + NFA_LOWER;
-  	case CLASS_not | CLASS_az:
-! 	    return extra_newl + NFA_NLOWER;
-  	case CLASS_AZ:
-! 	    return extra_newl + NFA_UPPER;
-  	case CLASS_not | CLASS_AZ:
-! 	    return extra_newl + NFA_NUPPER;
-      }
-      return FAIL;
-  }
---- 719,731 ----
-  	case CLASS_not | CLASS_az | CLASS_AZ:
-  	    return extra_newl + NFA_NALPHA;
-  	case CLASS_az:
-! 	   return extra_newl + NFA_LOWER_IC;
-  	case CLASS_not | CLASS_az:
-! 	    return extra_newl + NFA_NLOWER_IC;
-  	case CLASS_AZ:
-! 	    return extra_newl + NFA_UPPER_IC;
-  	case CLASS_not | CLASS_AZ:
-! 	    return extra_newl + NFA_NUPPER_IC;
-      }
-      return FAIL;
-  }
-***************
-*** 914,920 ****
-  		break;
-  	    }
-  
-! 	    extra = ADD_NL;
-  
-  	    /* "\_[" is collection plus newline */
-  	    if (c == '[')
---- 923,929 ----
-  		break;
-  	    }
-  
-! 	    extra = NFA_ADD_NL;
-  
-  	    /* "\_[" is collection plus newline */
-  	    if (c == '[')
-***************
-*** 970,976 ****
-  	    }
-  #endif
-  	    EMIT(nfa_classcodes[p - classchars]);
-! 	    if (extra == ADD_NL)
-  	    {
-  		EMIT(NFA_NEWL);
-  		EMIT(NFA_OR);
---- 979,985 ----
-  	    }
-  #endif
-  	    EMIT(nfa_classcodes[p - classchars]);
-! 	    if (extra == NFA_ADD_NL)
-  	    {
-  		EMIT(NFA_NEWL);
-  		EMIT(NFA_OR);
-***************
-*** 1240,1260 ****
-  	    {
-  		/*
-  		 * Try to reverse engineer character classes. For example,
-! 		 * recognize that [0-9] stands for  \d and [A-Za-z_] with \h,
-  		 * and perform the necessary substitutions in the NFA.
-  		 */
-  		result = nfa_recognize_char_class(regparse, endp,
-! 							    extra == ADD_NL);
-  		if (result != FAIL)
-  		{
-! 		    if (result >= NFA_DIGIT && result <= NFA_NUPPER)
-! 			EMIT(result);
-! 		    else	/* must be char class + newline */
-  		    {
-! 			EMIT(result - ADD_NL);
-  			EMIT(NFA_NEWL);
-  			EMIT(NFA_OR);
-  		    }
-  		    regparse = endp;
-  		    mb_ptr_adv(regparse);
-  		    return OK;
---- 1249,1269 ----
-  	    {
-  		/*
-  		 * Try to reverse engineer character classes. For example,
-! 		 * recognize that [0-9] stands for \d and [A-Za-z_] for \h,
-  		 * and perform the necessary substitutions in the NFA.
-  		 */
-  		result = nfa_recognize_char_class(regparse, endp,
-! 							 extra == NFA_ADD_NL);
-  		if (result != FAIL)
-  		{
-! 		    if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL)
-  		    {
-! 			EMIT(result - NFA_ADD_NL);
-  			EMIT(NFA_NEWL);
-  			EMIT(NFA_OR);
-  		    }
-+ 		    else
-+ 			EMIT(result);
-  		    regparse = endp;
-  		    mb_ptr_adv(regparse);
-  		    return OK;
-***************
-*** 1504,1510 ****
-  			     * collection, add an OR below. But not for negated
-  			     * range. */
-  			    if (!negated)
-! 				extra = ADD_NL;
-  			}
-  			else
-  			{
---- 1513,1519 ----
-  			     * collection, add an OR below. But not for negated
-  			     * range. */
-  			    if (!negated)
-! 				extra = NFA_ADD_NL;
-  			}
-  			else
-  			{
-***************
-*** 1537,1543 ****
-  		    EMIT(NFA_END_COLL);
-  
-  		/* \_[] also matches \n but it's not negated */
-! 		if (extra == ADD_NL)
-  		{
-  		    EMIT(reg_string ? NL : NFA_NEWL);
-  		    EMIT(NFA_OR);
---- 1546,1552 ----
-  		    EMIT(NFA_END_COLL);
-  
-  		/* \_[] also matches \n but it's not negated */
-! 		if (extra == NFA_ADD_NL)
-  		{
-  		    EMIT(reg_string ? NL : NFA_NEWL);
-  		    EMIT(NFA_OR);
-***************
-*** 2011,2017 ****
-      if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
-      {
-  	addnl = TRUE;
-! 	c -= ADD_NL;
-      }
-  
-      STRCPY(code, "");
---- 2020,2026 ----
-      if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
-      {
-  	addnl = TRUE;
-! 	c -= NFA_ADD_NL;
-      }
-  
-      STRCPY(code, "");
-***************
-*** 2217,2222 ****
---- 2226,2235 ----
-  	case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break;
-  	case NFA_UPPER:	STRCPY(code, "NFA_UPPER"); break;
-  	case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break;
-+ 	case NFA_LOWER_IC:  STRCPY(code, "NFA_LOWER_IC"); break;
-+ 	case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break;
-+ 	case NFA_UPPER_IC:  STRCPY(code, "NFA_UPPER_IC"); break;
-+ 	case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break;
-  
-  	default:
-  	    STRCPY(code, "CHAR(x)");
-***************
-*** 2687,2692 ****
---- 2700,2709 ----
-  	    case NFA_NLOWER:
-  	    case NFA_UPPER:
-  	    case NFA_NUPPER:
-+ 	    case NFA_LOWER_IC:
-+ 	    case NFA_NLOWER_IC:
-+ 	    case NFA_UPPER_IC:
-+ 	    case NFA_NUPPER_IC:
-  		/* possibly non-ascii */
-  #ifdef FEAT_MBYTE
-  		if (has_mbyte)
-***************
-*** 3841,3846 ****
---- 3858,3867 ----
-  	    case NFA_NLOWER:
-  	    case NFA_UPPER:
-  	    case NFA_NUPPER:
-+ 	    case NFA_LOWER_IC:
-+ 	    case NFA_NLOWER_IC:
-+ 	    case NFA_UPPER_IC:
-+ 	    case NFA_NUPPER_IC:
-  	    case NFA_START_COLL:
-  	    case NFA_START_NEG_COLL:
-  	    case NFA_NEWL:
-***************
-*** 5872,5877 ****
---- 5893,5920 ----
-  		ADD_STATE_IF_MATCH(t->state);
-  		break;
-  
-+ 	    case NFA_LOWER_IC:	/* [a-z] */
-+ 		result = ri_lower(curc) || (ireg_ic && ri_upper(curc));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-+ 	    case NFA_NLOWER_IC:	/* [^a-z] */
-+ 		result = curc != NUL
-+ 			  && !(ri_lower(curc) || (ireg_ic && ri_upper(curc)));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-+ 	    case NFA_UPPER_IC:	/* [A-Z] */
-+ 		result = ri_upper(curc) || (ireg_ic && ri_lower(curc));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-+ 	    case NFA_NUPPER_IC:	/* ^[A-Z] */
-+ 		result = curc != NUL
-+ 			  && !(ri_upper(curc) || (ireg_ic && ri_lower(curc)));
-+ 		ADD_STATE_IF_MATCH(t->state);
-+ 		break;
-+ 
-  	    case NFA_BACKREF1:
-  	    case NFA_BACKREF2:
-  	    case NFA_BACKREF3:
-*** ../vim-7.4.000/src/testdir/test64.in	2013-08-01 17:45:33.000000000 +0200
---- src/testdir/test64.in	2013-08-14 11:50:11.000000000 +0200
-***************
-*** 289,303 ****
-  :call add(tl, [2, '.a\%$', " a\n "])
-  :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
-  :"
-! :"""" Test recognition of some character classes
-! :call add(tl, [2, '[0-9]', '8', '8'])
-! :call add(tl, [2, '[^0-9]', '8'])
-! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7'])
-! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7'])
-! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij'])
-! :call add(tl, [2, '[a-z]', 'a', 'a'])
-! :call add(tl, [2, '[a-zA-Z]', 'a', 'a'])
-! :call add(tl, [2, '[A-Z]', 'a'])
-  :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
-  :"
-  :"""" Tests for \z features
---- 289,317 ----
-  :call add(tl, [2, '.a\%$', " a\n "])
-  :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
-  :"
-! :"""" Test recognition of character classes
-! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
-! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
-! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
-! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
-! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
-! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
-! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
-! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
-! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
-! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
-! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
-! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
-! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
-! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
-! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
-! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
-! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
-! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
-! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
-! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
-! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
-! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
-  :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
-  :"
-  :"""" Tests for \z features
-*** ../vim-7.4.000/src/testdir/test64.ok	2013-08-01 18:28:56.000000000 +0200
---- src/testdir/test64.ok	2013-08-14 11:50:37.000000000 +0200
-***************
-*** 650,679 ****
-  OK 0 - .a\%$
-  OK 1 - .a\%$
-  OK 2 - .a\%$
-! OK 0 - [0-9]
-! OK 1 - [0-9]
-! OK 2 - [0-9]
-! OK 0 - [^0-9]
-! OK 1 - [^0-9]
-! OK 2 - [^0-9]
-! OK 0 - [0-9a-fA-F]*
-! OK 1 - [0-9a-fA-F]*
-! OK 2 - [0-9a-fA-F]*
-  OK 0 - [^0-9A-Fa-f]\+
-  OK 1 - [^0-9A-Fa-f]\+
-  OK 2 - [^0-9A-Fa-f]\+
-  OK 0 - [a-z_A-Z0-9]\+
-  OK 1 - [a-z_A-Z0-9]\+
-  OK 2 - [a-z_A-Z0-9]\+
-! OK 0 - [a-z]
-! OK 1 - [a-z]
-! OK 2 - [a-z]
-! OK 0 - [a-zA-Z]
-! OK 1 - [a-zA-Z]
-! OK 2 - [a-zA-Z]
-! OK 0 - [A-Z]
-! OK 1 - [A-Z]
-! OK 2 - [A-Z]
-  OK 0 - \C[^A-Z]\+
-  OK 1 - \C[^A-Z]\+
-  OK 2 - \C[^A-Z]\+
---- 650,721 ----
-  OK 0 - .a\%$
-  OK 1 - .a\%$
-  OK 2 - .a\%$
-! OK 0 - [0-7]\+
-! OK 1 - [0-7]\+
-! OK 2 - [0-7]\+
-! OK 0 - [^0-7]\+
-! OK 1 - [^0-7]\+
-! OK 2 - [^0-7]\+
-! OK 0 - [0-9]\+
-! OK 1 - [0-9]\+
-! OK 2 - [0-9]\+
-! OK 0 - [^0-9]\+
-! OK 1 - [^0-9]\+
-! OK 2 - [^0-9]\+
-! OK 0 - [0-9a-fA-F]\+
-! OK 1 - [0-9a-fA-F]\+
-! OK 2 - [0-9a-fA-F]\+
-  OK 0 - [^0-9A-Fa-f]\+
-  OK 1 - [^0-9A-Fa-f]\+
-  OK 2 - [^0-9A-Fa-f]\+
-  OK 0 - [a-z_A-Z0-9]\+
-  OK 1 - [a-z_A-Z0-9]\+
-  OK 2 - [a-z_A-Z0-9]\+
-! OK 0 - [^a-z_A-Z0-9]\+
-! OK 1 - [^a-z_A-Z0-9]\+
-! OK 2 - [^a-z_A-Z0-9]\+
-! OK 0 - [a-z_A-Z]\+
-! OK 1 - [a-z_A-Z]\+
-! OK 2 - [a-z_A-Z]\+
-! OK 0 - [^a-z_A-Z]\+
-! OK 1 - [^a-z_A-Z]\+
-! OK 2 - [^a-z_A-Z]\+
-! OK 0 - [a-z]\+
-! OK 1 - [a-z]\+
-! OK 2 - [a-z]\+
-! OK 0 - [a-z]\+
-! OK 1 - [a-z]\+
-! OK 2 - [a-z]\+
-! OK 0 - [^a-z]\+
-! OK 1 - [^a-z]\+
-! OK 2 - [^a-z]\+
-! OK 0 - [^a-z]\+
-! OK 1 - [^a-z]\+
-! OK 2 - [^a-z]\+
-! OK 0 - [a-zA-Z]\+
-! OK 1 - [a-zA-Z]\+
-! OK 2 - [a-zA-Z]\+
-! OK 0 - [^a-zA-Z]\+
-! OK 1 - [^a-zA-Z]\+
-! OK 2 - [^a-zA-Z]\+
-! OK 0 - [A-Z]\+
-! OK 1 - [A-Z]\+
-! OK 2 - [A-Z]\+
-! OK 0 - [^A-Z]\+
-! OK 1 - [^A-Z]\+
-! OK 2 - [^A-Z]\+
-! OK 0 - [a-z]\+\c
-! OK 1 - [a-z]\+\c
-! OK 2 - [a-z]\+\c
-! OK 0 - [A-Z]\+\c
-! OK 1 - [A-Z]\+\c
-! OK 2 - [A-Z]\+\c
-! OK 0 - \c[^a-z]\+
-! OK 1 - \c[^a-z]\+
-! OK 2 - \c[^a-z]\+
-! OK 0 - \c[^A-Z]\+
-! OK 1 - \c[^A-Z]\+
-! OK 2 - \c[^A-Z]\+
-  OK 0 - \C[^A-Z]\+
-  OK 1 - \C[^A-Z]\+
-  OK 2 - \C[^A-Z]\+
-*** ../vim-7.4.000/src/version.c	2013-08-10 13:29:20.000000000 +0200
---- src/version.c	2013-08-14 11:54:57.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     1,
-  /**/
-
--- 
-How many light bulbs does it take to change a person?
-
- /// 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    ///
diff --git a/7.4.002 b/7.4.002
deleted file mode 100644
index d92f4de..0000000
--- a/7.4.002
+++ /dev/null
@@ -1,77 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.002
-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.4b.002
-Problem:    Pattern with two alternative look-behind matches does not match.
-	    (Amadeus Demarzi)
-Solution:   When comparing PIMs also compare their state ID to see if they are
-	    different.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.001/src/regexp_nfa.c	2013-08-14 12:05:54.000000000 +0200
---- src/regexp_nfa.c	2013-08-14 13:12:09.000000000 +0200
-***************
-*** 3782,3787 ****
---- 3782,3790 ----
-      if (two_unused)
-  	/* one is used and two is not: not equal */
-  	return FALSE;
-+     /* compare the state id */
-+     if (one->state->id != two->state->id)
-+ 	return FALSE;
-      /* compare the position */
-      if (REG_MULTI)
-  	return one->end.pos.lnum == two->end.pos.lnum
-*** ../vim-7.4.001/src/testdir/test64.in	2013-08-14 12:05:54.000000000 +0200
---- src/testdir/test64.in	2013-08-14 12:58:38.000000000 +0200
-***************
-*** 421,426 ****
---- 421,429 ----
-  :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
-  :call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
-  :"
-+ :" complicated look-behind match
-+ :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
-+ :"
-  :""""" \@>
-  :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
-  :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
-*** ../vim-7.4.001/src/testdir/test64.ok	2013-08-14 12:05:54.000000000 +0200
---- src/testdir/test64.ok	2013-08-14 13:14:09.000000000 +0200
-***************
-*** 974,979 ****
---- 974,982 ----
-  OK 0 - \(foo\)\@<=.*
-  OK 1 - \(foo\)\@<=.*
-  OK 2 - \(foo\)\@<=.*
-+ OK 0 - \(r\@<=\|\w\@<!\)\/
-+ OK 1 - \(r\@<=\|\w\@<!\)\/
-+ OK 2 - \(r\@<=\|\w\@<!\)\/
-  OK 0 - \(a*\)\@>a
-  OK 1 - \(a*\)\@>a
-  OK 2 - \(a*\)\@>a
-*** ../vim-7.4.001/src/version.c	2013-08-14 12:05:54.000000000 +0200
---- src/version.c	2013-08-14 13:13:45.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     2,
-  /**/
-
--- 
-From "know your smileys":
- :-)-O	Smiling doctor with stethoscope
-
- /// 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    ///
diff --git a/7.4.003 b/7.4.003
deleted file mode 100644
index 9aad3c8..0000000
--- a/7.4.003
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.003
-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.003
-Problem:    Memory access error in Ruby syntax highlighting. (Christopher Chow)
-Solution:   Refresh stale pointer. (James McCoy)
-Files:	    src/regexp_nfa.c
-
-
-*** ../vim-7.4.002/src/regexp_nfa.c	2013-08-14 13:31:03.000000000 +0200
---- src/regexp_nfa.c	2013-08-14 14:02:06.000000000 +0200
-***************
-*** 4120,4126 ****
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZOPEN)
-  	    {
-  		subidx = state->c - NFA_ZOPEN;
-  		sub = &subs->synt;
---- 4120,4126 ----
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
-  	    {
-  		subidx = state->c - NFA_ZOPEN;
-  		sub = &subs->synt;
-***************
-*** 4189,4194 ****
---- 4189,4201 ----
-  	    }
-  
-  	    subs = addstate(l, state->out, subs, pim, off);
-+ 	    /* "subs" may have changed, need to set "sub" again */
-+ #ifdef FEAT_SYN_HL
-+ 	    if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
-+ 		sub = &subs->synt;
-+ 	    else
-+ #endif
-+ 		sub = &subs->norm;
-  
-  	    if (save_in_use == -1)
-  	    {
-***************
-*** 4237,4243 ****
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZCLOSE)
-  	    {
-  		subidx = state->c - NFA_ZCLOSE;
-  		sub = &subs->synt;
---- 4244,4250 ----
-  		sub = &subs->norm;
-  	    }
-  #ifdef FEAT_SYN_HL
-! 	    else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
-  	    {
-  		subidx = state->c - NFA_ZCLOSE;
-  		sub = &subs->synt;
-***************
-*** 4281,4286 ****
---- 4288,4300 ----
-  	    }
-  
-  	    subs = addstate(l, state->out, subs, pim, off);
-+ 	    /* "subs" may have changed, need to set "sub" again */
-+ #ifdef FEAT_SYN_HL
-+ 	    if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
-+ 		sub = &subs->synt;
-+ 	    else
-+ #endif
-+ 		sub = &subs->norm;
-  
-  	    if (REG_MULTI)
-  		sub->list.multi[subidx].end = save_lpos;
-*** ../vim-7.4.002/src/version.c	2013-08-14 13:31:03.000000000 +0200
---- src/version.c	2013-08-14 14:03:51.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     3,
-  /**/
-
--- 
-Where do you want to crash today?
-
- /// 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    ///
diff --git a/7.4.004 b/7.4.004
deleted file mode 100644
index f629d67..0000000
--- a/7.4.004
+++ /dev/null
@@ -1,232 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.004
-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.004
-Problem:    When closing a window fails ":bwipe" may hang.
-Solution:   Let win_close() return FAIL and break out of the loop.
-Files:	    src/window.c, src/proto/window.pro, src/buffer.c
-
-
-*** ../vim-7.4.003/src/window.c	2013-07-24 17:38:29.000000000 +0200
---- src/window.c	2013-08-14 16:52:44.000000000 +0200
-***************
-*** 2172,2179 ****
-   * If "free_buf" is TRUE related buffer may be unloaded.
-   *
-   * Called by :quit, :close, :xit, :wq and findtag().
-   */
-!     void
-  win_close(win, free_buf)
-      win_T	*win;
-      int		free_buf;
---- 2172,2180 ----
-   * If "free_buf" is TRUE related buffer may be unloaded.
-   *
-   * Called by :quit, :close, :xit, :wq and findtag().
-+  * Returns FAIL when the window was not closed.
-   */
-!     int
-  win_close(win, free_buf)
-      win_T	*win;
-      int		free_buf;
-***************
-*** 2190,2210 ****
-      if (last_window())
-      {
-  	EMSG(_("E444: Cannot close last window"));
-! 	return;
-      }
-  
-  #ifdef FEAT_AUTOCMD
-      if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
-! 	return; /* window is already being closed */
-      if (win == aucmd_win)
-      {
-  	EMSG(_("E813: Cannot close autocmd window"));
-! 	return;
-      }
-      if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
-      {
-  	EMSG(_("E814: Cannot close window, only autocmd window would remain"));
-! 	return;
-      }
-  #endif
-  
---- 2191,2211 ----
-      if (last_window())
-      {
-  	EMSG(_("E444: Cannot close last window"));
-! 	return FAIL;
-      }
-  
-  #ifdef FEAT_AUTOCMD
-      if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
-! 	return FAIL; /* window is already being closed */
-      if (win == aucmd_win)
-      {
-  	EMSG(_("E813: Cannot close autocmd window"));
-! 	return FAIL;
-      }
-      if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
-      {
-  	EMSG(_("E814: Cannot close window, only autocmd window would remain"));
-! 	return FAIL;
-      }
-  #endif
-  
-***************
-*** 2212,2218 ****
-       * and then close the window and the tab page to avoid that curwin and
-       * curtab are invalid while we are freeing memory. */
-      if (close_last_window_tabpage(win, free_buf, prev_curtab))
-!       return;
-  
-      /* When closing the help window, try restoring a snapshot after closing
-       * the window.  Otherwise clear the snapshot, it's now invalid. */
---- 2213,2219 ----
-       * and then close the window and the tab page to avoid that curwin and
-       * curtab are invalid while we are freeing memory. */
-      if (close_last_window_tabpage(win, free_buf, prev_curtab))
-!       return FAIL;
-  
-      /* When closing the help window, try restoring a snapshot after closing
-       * the window.  Otherwise clear the snapshot, it's now invalid. */
-***************
-*** 2240,2261 ****
-  	    win->w_closing = TRUE;
-  	    apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-  	    if (!win_valid(win))
-! 		return;
-  	    win->w_closing = FALSE;
-  	    if (last_window())
-! 		return;
-  	}
-  	win->w_closing = TRUE;
-  	apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-  	if (!win_valid(win))
-! 	    return;
-  	win->w_closing = FALSE;
-  	if (last_window())
-! 	    return;
-  # ifdef FEAT_EVAL
-  	/* autocmds may abort script processing */
-  	if (aborting())
-! 	    return;
-  # endif
-      }
-  #endif
---- 2241,2262 ----
-  	    win->w_closing = TRUE;
-  	    apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-  	    if (!win_valid(win))
-! 		return FAIL;
-  	    win->w_closing = FALSE;
-  	    if (last_window())
-! 		return FAIL;
-  	}
-  	win->w_closing = TRUE;
-  	apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-  	if (!win_valid(win))
-! 	    return FAIL;
-  	win->w_closing = FALSE;
-  	if (last_window())
-! 	    return FAIL;
-  # ifdef FEAT_EVAL
-  	/* autocmds may abort script processing */
-  	if (aborting())
-! 	    return FAIL;
-  # endif
-      }
-  #endif
-***************
-*** 2303,2309 ****
-       * other window or moved to another tab page. */
-      else if (!win_valid(win) || last_window() || curtab != prev_curtab
-  	    || close_last_window_tabpage(win, free_buf, prev_curtab))
-! 	return;
-  
-      /* Free the memory used for the window and get the window that received
-       * the screen space. */
---- 2304,2310 ----
-       * other window or moved to another tab page. */
-      else if (!win_valid(win) || last_window() || curtab != prev_curtab
-  	    || close_last_window_tabpage(win, free_buf, prev_curtab))
-! 	return FAIL;
-  
-      /* Free the memory used for the window and get the window that received
-       * the screen space. */
-***************
-*** 2383,2388 ****
---- 2384,2390 ----
-  #endif
-  
-      redraw_all_later(NOT_VALID);
-+     return OK;
-  }
-  
-  /*
-*** ../vim-7.4.003/src/proto/window.pro	2013-08-10 13:37:30.000000000 +0200
---- src/proto/window.pro	2013-08-14 16:52:50.000000000 +0200
-***************
-*** 9,15 ****
-  void win_equal __ARGS((win_T *next_curwin, int current, int dir));
-  void close_windows __ARGS((buf_T *buf, int keep_curwin));
-  int one_window __ARGS((void));
-! void win_close __ARGS((win_T *win, int free_buf));
-  void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
-  void win_free_all __ARGS((void));
-  win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
---- 9,15 ----
-  void win_equal __ARGS((win_T *next_curwin, int current, int dir));
-  void close_windows __ARGS((buf_T *buf, int keep_curwin));
-  int one_window __ARGS((void));
-! int win_close __ARGS((win_T *win, int free_buf));
-  void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
-  void win_free_all __ARGS((void));
-  win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
-*** ../vim-7.4.003/src/buffer.c	2013-07-17 16:39:00.000000000 +0200
---- src/buffer.c	2013-08-14 16:54:34.000000000 +0200
-***************
-*** 1186,1192 ****
-  		   && !(curwin->w_closing || curwin->w_buffer->b_closing)
-  # endif
-  		   && (firstwin != lastwin || first_tabpage->tp_next != NULL))
-! 	    win_close(curwin, FALSE);
-  #endif
-  
-  	/*
---- 1186,1195 ----
-  		   && !(curwin->w_closing || curwin->w_buffer->b_closing)
-  # endif
-  		   && (firstwin != lastwin || first_tabpage->tp_next != NULL))
-! 	{
-! 	    if (win_close(curwin, FALSE) == FAIL)
-! 		break;
-! 	}
-  #endif
-  
-  	/*
-*** ../vim-7.4.003/src/version.c	2013-08-14 14:18:37.000000000 +0200
---- src/version.c	2013-08-14 17:10:23.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     4,
-  /**/
-
--- 
-From "know your smileys":
- *<|:-)	Santa Claus (Ho Ho Ho)
-
- /// 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    ///
diff --git a/7.4.005 b/7.4.005
deleted file mode 100644
index f85d1f0..0000000
--- a/7.4.005
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.005
-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.005
-Problem:    Using "vaB" while 'virtualedit' is set selects the wrong area.
-	    (Dimitar Dimitrov)
-Solution:   Reset coladd when finding a match.
-Files:	    src/search.c
-
-
-*** ../vim-7.4.004/src/search.c	2013-07-17 19:20:47.000000000 +0200
---- src/search.c	2013-08-14 17:32:38.000000000 +0200
-***************
-*** 1760,1765 ****
---- 1760,1768 ----
-  #endif
-  
-      pos = curwin->w_cursor;
-+ #ifdef FEAT_VIRTUALEDIT
-+     pos.coladd = 0;
-+ #endif
-      linep = ml_get(pos.lnum);
-  
-      cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL);
-*** ../vim-7.4.004/src/version.c	2013-08-14 17:11:14.000000000 +0200
---- src/version.c	2013-08-14 17:38:05.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     5,
-  /**/
-
--- 
-You can't have everything.  Where would you put it?
-		-- Steven Wright
-
- /// 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    ///
diff --git a/7.4.006 b/7.4.006
deleted file mode 100644
index 55d3802..0000000
--- a/7.4.006
+++ /dev/null
@@ -1,66 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.006
-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.006
-Problem:    mkdir("foo/bar/", "p") gives an error message. (David Barnett)
-Solution:   Remove the trailing slash. (lcd)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.005/src/eval.c	2013-07-05 18:23:42.000000000 +0200
---- src/eval.c	2013-08-22 12:00:28.000000000 +0200
-***************
-*** 14292,14297 ****
---- 14292,14301 ----
-  	return;
-  
-      dir = get_tv_string_buf(&argvars[0], buf);
-+     if (*gettail(dir) == NUL)
-+ 	/* remove trailing slashes */
-+ 	*gettail_sep(dir) = NUL;
-+ 
-      if (argvars[1].v_type != VAR_UNKNOWN)
-      {
-  	if (argvars[2].v_type != VAR_UNKNOWN)
-***************
-*** 14299,14305 ****
-  	if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-  	    mkdir_recurse(dir, prot);
-      }
-!     rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0;
-  }
-  #endif
-  
---- 14303,14309 ----
-  	if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-  	    mkdir_recurse(dir, prot);
-      }
-!     rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
-  }
-  #endif
-  
-*** ../vim-7.4.005/src/version.c	2013-08-14 17:45:25.000000000 +0200
---- src/version.c	2013-08-22 12:02:46.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     6,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-97. Your mother tells you to remember something, and you look for
-    a File/Save command.
-
- /// 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    ///
diff --git a/7.4.007 b/7.4.007
deleted file mode 100644
index 5495ffb..0000000
--- a/7.4.007
+++ /dev/null
@@ -1,95 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.007
-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.007
-Problem:    Creating a preview window on startup leaves the screen layout in a
-	    messed up state. (Marius Gedminas)
-Solution:   Don't change firstwin. (Christian Brabandt)
-Files:	    src/main.c
-
-
-*** ../vim-7.4.006/src/main.c	2013-07-03 12:36:49.000000000 +0200
---- src/main.c	2013-08-22 14:02:39.000000000 +0200
-***************
-*** 2727,2732 ****
---- 2727,2733 ----
-      int		arg_idx;		/* index in argument list */
-      int		i;
-      int		advance = TRUE;
-+     win_T	*win;
-  
-  # ifdef FEAT_AUTOCMD
-      /*
-***************
-*** 2816,2839 ****
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_enter;
-  # endif
-  #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-!     /*
-!      * Avoid making a preview window the current window.
-!      */
-!     if (firstwin->w_p_pvw)
-      {
-!        win_T   *win;
-! 
-!        for (win = firstwin; win != NULL; win = win->w_next)
-!            if (!win->w_p_pvw)
-!            {
-!                firstwin = win;
-!                break;
-!            }
-      }
-  #endif
-!     /* make the first window the current window */
-!     win_enter(firstwin, FALSE);
-  
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_leave;
---- 2817,2838 ----
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_enter;
-  # endif
-+ 
-+     /* make the first window the current window */
-+     win = firstwin;
-  #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-!     /* Avoid making a preview window the current window. */
-!     while (win->w_p_pvw)
-      {
-! 	win = win->w_next;
-! 	if (win == NULL)
-! 	{
-! 	    win = firstwin;
-! 	    break;
-! 	}
-      }
-  #endif
-!     win_enter(win, FALSE);
-  
-  # ifdef FEAT_AUTOCMD
-      --autocmd_no_leave;
-*** ../vim-7.4.006/src/version.c	2013-08-22 12:06:50.000000000 +0200
---- src/version.c	2013-08-22 14:04:11.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     7,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-105. When someone asks you for your address, you tell them your URL.
-
- /// 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    ///
diff --git a/7.4.008 b/7.4.008
deleted file mode 100644
index 6abd493..0000000
--- a/7.4.008
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.008
-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.008
-Problem:    New regexp engine can't be interrupted.
-Solution:   Check for CTRL-C pressed. (Yasuhiro Matsumoto)
-Files:	    src/regexp_nfa.c, src/regexp.c
-
-
-*** ../vim-7.4.007/src/regexp_nfa.c	2013-08-14 14:18:37.000000000 +0200
---- src/regexp_nfa.c	2013-08-25 16:55:56.000000000 +0200
-***************
-*** 5089,5094 ****
---- 5089,5100 ----
-  	return FALSE;
-      }
-  #endif
-+     /* Some patterns may take a long time to match, especially when using
-+      * recursive_regmatch(). Allow interrupting them with CTRL-C. */
-+     fast_breakcheck();
-+     if (got_int)
-+ 	return FALSE;
-+ 
-      nfa_match = FALSE;
-  
-      /* Allocate memory for the lists of nodes. */
-*** ../vim-7.4.007/src/regexp.c	2013-08-01 18:31:30.000000000 +0200
---- src/regexp.c	2013-08-25 16:57:35.000000000 +0200
-***************
-*** 4311,4318 ****
-     */
-    for (;;)
-    {
-!     /* Some patterns may cause a long time to match, even though they are not
-!      * illegal.  E.g., "\([a-z]\+\)\+Q".  Allow breaking them with CTRL-C. */
-      fast_breakcheck();
-  
-  #ifdef DEBUG
---- 4311,4318 ----
-     */
-    for (;;)
-    {
-!     /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q".
-!      * Allow interrupting them with CTRL-C. */
-      fast_breakcheck();
-  
-  #ifdef DEBUG
-*** ../vim-7.4.007/src/version.c	2013-08-22 14:14:23.000000000 +0200
---- src/version.c	2013-08-25 16:57:51.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     8,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-124. You begin conversations with, "Who is your internet service provider?"
-
- /// 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    ///
diff --git a/7.4.009 b/7.4.009
deleted file mode 100644
index f5e5fa6..0000000
--- a/7.4.009
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.009
-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.009
-Problem:    When a file was not decrypted (yet), writing it may destroy the
-	    contents.
-Solution:   Mark the file as readonly until decryption was done. (Christian
-	    Brabandt)
-Files:	    src/fileio.c
-
-
-*** ../vim-7.4.008/src/fileio.c	2013-08-05 21:58:03.000000000 +0200
---- src/fileio.c	2013-08-25 17:45:27.000000000 +0200
-***************
-*** 2926,2934 ****
---- 2926,2939 ----
-      int		*did_ask;	/* flag: whether already asked for key */
-  {
-      int method = crypt_method_from_magic((char *)ptr, *sizep);
-+     int b_p_ro = curbuf->b_p_ro;
-  
-      if (method >= 0)
-      {
-+ 	/* Mark the buffer as read-only until the decryption has taken place.
-+ 	 * Avoids accidentally overwriting the file with garbage. */
-+ 	curbuf->b_p_ro = TRUE;
-+ 
-  	set_crypt_method(curbuf, method);
-  	if (method > 0)
-  	    (void)blowfish_self_test();
-***************
-*** 2977,2982 ****
---- 2982,2989 ----
-  	    *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len;
-  	    mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len,
-  							      (size_t)*sizep);
-+ 	    /* Restore the read-only flag. */
-+ 	    curbuf->b_p_ro = b_p_ro;
-  	}
-      }
-      /* When starting to edit a new file which does not have encryption, clear
-*** ../vim-7.4.008/src/version.c	2013-08-25 17:01:36.000000000 +0200
---- src/version.c	2013-08-25 17:44:30.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     9,
-  /**/
-
--- 
-I have a watch cat! Just break in and she'll watch.
-
- /// 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    ///
diff --git a/7.4.010 b/7.4.010
deleted file mode 100644
index fee6ba5..0000000
--- a/7.4.010
+++ /dev/null
@@ -1,79 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.010
-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.010 (after 7.4.006)
-Problem:    Crash with invalid argument to mkdir().
-Solution:   Check for empty string. (lcd47)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.009/src/eval.c	2013-08-22 12:06:50.000000000 +0200
---- src/eval.c	2013-08-30 15:47:47.000000000 +0200
-***************
-*** 14292,14309 ****
-  	return;
-  
-      dir = get_tv_string_buf(&argvars[0], buf);
-!     if (*gettail(dir) == NUL)
-! 	/* remove trailing slashes */
-! 	*gettail_sep(dir) = NUL;
-! 
-!     if (argvars[1].v_type != VAR_UNKNOWN)
-      {
-! 	if (argvars[2].v_type != VAR_UNKNOWN)
-! 	    prot = get_tv_number_chk(&argvars[2], NULL);
-! 	if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-! 	    mkdir_recurse(dir, prot);
-      }
--     rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
-  }
-  #endif
-  
---- 14292,14314 ----
-  	return;
-  
-      dir = get_tv_string_buf(&argvars[0], buf);
-!     if (*dir == NUL)
-! 	rettv->vval.v_number = FAIL;
-!     else
-      {
-! 	if (*gettail(dir) == NUL)
-! 	    /* remove trailing slashes */
-! 	    *gettail_sep(dir) = NUL;
-! 
-! 	if (argvars[1].v_type != VAR_UNKNOWN)
-! 	{
-! 	    if (argvars[2].v_type != VAR_UNKNOWN)
-! 		prot = get_tv_number_chk(&argvars[2], NULL);
-! 	    if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
-! 		mkdir_recurse(dir, prot);
-! 	}
-! 	rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
-      }
-  }
-  #endif
-  
-*** ../vim-7.4.009/src/version.c	2013-08-25 17:46:05.000000000 +0200
---- src/version.c	2013-08-30 15:48:37.000000000 +0200
-***************
-*** 729,730 ****
---- 729,732 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     10,
-  /**/
-
--- 
-I wish there was a knob on the TV to turn up the intelligence.
-There's a knob called "brightness", but it doesn't seem to work. 
-
- /// 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    ///
diff --git a/7.4.011 b/7.4.011
deleted file mode 100644
index efff82c..0000000
--- a/7.4.011
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.011
-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.011
-Problem:    Cannot find out if "acl" and "xpm" features are supported.
-Solution:   Add "acl" and "xpm" to the list of features. (Ken Takata)
-Files:	    src/eval.c, src/version.c
-
-
-*** ../vim-7.4.010/src/eval.c	2013-08-30 16:00:04.000000000 +0200
---- src/eval.c	2013-08-30 16:34:12.000000000 +0200
-***************
-*** 12135,12140 ****
---- 12135,12143 ----
-  #ifndef CASE_INSENSITIVE_FILENAME
-  	"fname_case",
-  #endif
-+ #ifdef HAVE_ACL
-+ 	"acl",
-+ #endif
-  #ifdef FEAT_ARABIC
-  	"arabic",
-  #endif
-***************
-*** 12538,12544 ****
-  	"xfontset",
-  #endif
-  #ifdef FEAT_XPM_W32
-! 	"xpm_w32",
-  #endif
-  #ifdef USE_XSMP
-  	"xsmp",
---- 12541,12552 ----
-  	"xfontset",
-  #endif
-  #ifdef FEAT_XPM_W32
-! 	"xpm",
-! 	"xpm_w32",	/* for backward compatibility */
-! #else
-! # if defined(HAVE_XPM)
-! 	"xpm",
-! # endif
-  #endif
-  #ifdef USE_XSMP
-  	"xsmp",
-*** ../vim-7.4.010/src/version.c	2013-08-30 16:00:04.000000000 +0200
---- src/version.c	2013-08-30 16:34:37.000000000 +0200
-***************
-*** 60,65 ****
---- 60,70 ----
-  
-  static char *(features[]) =
-  {
-+ #ifdef HAVE_ACL
-+ 	"+acl",
-+ #else
-+ 	"-acl",
-+ #endif
-  #ifdef AMIGA		/* only for Amiga systems */
-  # ifdef FEAT_ARP
-  	"+ARP",
-***************
-*** 721,726 ****
---- 726,737 ----
-  # else
-  	"-xpm_w32",
-  # endif
-+ #else
-+ # ifdef HAVE_XPM
-+ 	"+xpm",
-+ # else
-+ 	"-xpm",
-+ # endif
-  #endif
-  	NULL
-  };
-*** ../vim-7.4.010/src/version.c	2013-08-30 16:00:04.000000000 +0200
---- src/version.c	2013-08-30 16:34:37.000000000 +0200
-***************
-*** 729,730 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     11,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-141. You'd rather go to http://www.weather.com/ than look out your window.
-
- /// 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    ///
diff --git a/7.4.012 b/7.4.012
deleted file mode 100644
index f831442..0000000
--- a/7.4.012
+++ /dev/null
@@ -1,202 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.012
-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.012
-Problem:    MS-Windows: resolving shortcut does not work properly with
-	    multi-byte characters.
-Solution:   Use wide system functions. (Ken Takata)
-Files:	    src/os_mswin.c
-
-
-*** ../vim-7.4.011/src/os_mswin.c	2013-06-16 16:41:11.000000000 +0200
---- src/os_mswin.c	2013-08-30 16:43:23.000000000 +0200
-***************
-*** 1761,1769 ****
-      IPersistFile	*ppf = NULL;
-      OLECHAR		wsz[MAX_PATH];
-      WIN32_FIND_DATA	ffd; // we get those free of charge
-!     TCHAR		buf[MAX_PATH]; // could have simply reused 'wsz'...
-      char_u		*rfname = NULL;
-      int			len;
-  
-      /* Check if the file name ends in ".lnk". Avoid calling
-       * CoCreateInstance(), it's quite slow. */
---- 1761,1773 ----
-      IPersistFile	*ppf = NULL;
-      OLECHAR		wsz[MAX_PATH];
-      WIN32_FIND_DATA	ffd; // we get those free of charge
-!     CHAR		buf[MAX_PATH]; // could have simply reused 'wsz'...
-      char_u		*rfname = NULL;
-      int			len;
-+ # ifdef FEAT_MBYTE
-+     IShellLinkW		*pslw = NULL;
-+     WIN32_FIND_DATAW	ffdw; // we get those free of charge
-+ # endif
-  
-      /* Check if the file name ends in ".lnk". Avoid calling
-       * CoCreateInstance(), it's quite slow. */
-***************
-*** 1775,1792 ****
-  
-      CoInitialize(NULL);
-  
-      // create a link manager object and request its interface
-      hr = CoCreateInstance(
-  	    &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
-  	    &IID_IShellLink, (void**)&psl);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-  
-      // Get a pointer to the IPersistFile interface.
-      hr = psl->lpVtbl->QueryInterface(
-  	    psl, &IID_IPersistFile, (void**)&ppf);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-  
-      // full path string must be in Unicode.
-      MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
---- 1779,1840 ----
-  
-      CoInitialize(NULL);
-  
-+ # ifdef FEAT_MBYTE
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	// create a link manager object and request its interface
-+ 	hr = CoCreateInstance(
-+ 		&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
-+ 		&IID_IShellLinkW, (void**)&pslw);
-+ 	if (hr == S_OK)
-+ 	{
-+ 	    WCHAR	*p = enc_to_utf16(fname, NULL);
-+ 
-+ 	    if (p != NULL)
-+ 	    {
-+ 		// Get a pointer to the IPersistFile interface.
-+ 		hr = pslw->lpVtbl->QueryInterface(
-+ 			pslw, &IID_IPersistFile, (void**)&ppf);
-+ 		if (hr != S_OK)
-+ 		    goto shortcut_errorw;
-+ 
-+ 		// "load" the name and resolve the link
-+ 		hr = ppf->lpVtbl->Load(ppf, p, STGM_READ);
-+ 		if (hr != S_OK)
-+ 		    goto shortcut_errorw;
-+ #  if 0  // This makes Vim wait a long time if the target does not exist.
-+ 		hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI);
-+ 		if (hr != S_OK)
-+ 		    goto shortcut_errorw;
-+ #  endif
-+ 
-+ 		// Get the path to the link target.
-+ 		ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR));
-+ 		hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0);
-+ 		if (hr == S_OK && wsz[0] != NUL)
-+ 		    rfname = utf16_to_enc(wsz, NULL);
-+ 
-+ shortcut_errorw:
-+ 		vim_free(p);
-+ 		if (hr == S_OK)
-+ 		    goto shortcut_end;
-+ 	    }
-+ 	}
-+ 	/* Retry with non-wide function (for Windows 98). */
-+     }
-+ # endif
-      // create a link manager object and request its interface
-      hr = CoCreateInstance(
-  	    &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
-  	    &IID_IShellLink, (void**)&psl);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-  
-      // Get a pointer to the IPersistFile interface.
-      hr = psl->lpVtbl->QueryInterface(
-  	    psl, &IID_IPersistFile, (void**)&ppf);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-  
-      // full path string must be in Unicode.
-      MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
-***************
-*** 1794,1805 ****
-      // "load" the name and resolve the link
-      hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-! #if 0  // This makes Vim wait a long time if the target doesn't exist.
-      hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
-      if (hr != S_OK)
-! 	goto shortcut_error;
-! #endif
-  
-      // Get the path to the link target.
-      ZeroMemory(buf, MAX_PATH);
---- 1842,1853 ----
-      // "load" the name and resolve the link
-      hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-! # if 0  // This makes Vim wait a long time if the target doesn't exist.
-      hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
-      if (hr != S_OK)
-! 	goto shortcut_end;
-! # endif
-  
-      // Get the path to the link target.
-      ZeroMemory(buf, MAX_PATH);
-***************
-*** 1807,1818 ****
-      if (hr == S_OK && buf[0] != NUL)
-  	rfname = vim_strsave(buf);
-  
-! shortcut_error:
-      // Release all interface pointers (both belong to the same object)
-      if (ppf != NULL)
-  	ppf->lpVtbl->Release(ppf);
-      if (psl != NULL)
-  	psl->lpVtbl->Release(psl);
-  
-      CoUninitialize();
-      return rfname;
---- 1855,1870 ----
-      if (hr == S_OK && buf[0] != NUL)
-  	rfname = vim_strsave(buf);
-  
-! shortcut_end:
-      // Release all interface pointers (both belong to the same object)
-      if (ppf != NULL)
-  	ppf->lpVtbl->Release(ppf);
-      if (psl != NULL)
-  	psl->lpVtbl->Release(psl);
-+ # ifdef FEAT_MBYTE
-+     if (pslw != NULL)
-+ 	pslw->lpVtbl->Release(pslw);
-+ # endif
-  
-      CoUninitialize();
-      return rfname;
-*** ../vim-7.4.011/src/version.c	2013-08-30 16:35:41.000000000 +0200
---- src/version.c	2013-08-30 16:39:40.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     12,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-142. You dream about creating the world's greatest web site.
-
- /// 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    ///
diff --git a/7.4.013 b/7.4.013
deleted file mode 100644
index dcbe0fb..0000000
--- a/7.4.013
+++ /dev/null
@@ -1,99 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.013
-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.013
-Problem:    File name buffer too small for utf-8.
-Solution:   Use character count instead of byte count. (Ken Takata)
-Files:	    src/os_mswin.c
-
-
-*** ../vim-7.4.012/src/os_mswin.c	2013-08-30 16:44:15.000000000 +0200
---- src/os_mswin.c	2013-08-30 16:47:54.000000000 +0200
-***************
-*** 456,462 ****
---- 456,469 ----
-      int
-  mch_isFullName(char_u *fname)
-  {
-+ #ifdef FEAT_MBYTE
-+     /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
-+      * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
-+      * UTF-8. */
-+     char szName[_MAX_PATH * 3 + 1];
-+ #else
-      char szName[_MAX_PATH + 1];
-+ #endif
-  
-      /* A name like "d:/foo" and "//server/share" is absolute */
-      if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\'))
-***************
-*** 464,470 ****
-  	return TRUE;
-  
-      /* A name that can't be made absolute probably isn't absolute. */
-!     if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL)
-  	return FALSE;
-  
-      return pathcmp(fname, szName, -1) == 0;
---- 471,477 ----
-  	return TRUE;
-  
-      /* A name that can't be made absolute probably isn't absolute. */
-!     if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL)
-  	return FALSE;
-  
-      return pathcmp(fname, szName, -1) == 0;
-***************
-*** 498,507 ****
-      int
-  vim_stat(const char *name, struct stat *stp)
-  {
-      char	buf[_MAX_PATH + 1];
-      char	*p;
-  
-!     vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH);
-      p = buf + strlen(buf);
-      if (p > buf)
-  	mb_ptr_back(buf, p);
---- 505,521 ----
-      int
-  vim_stat(const char *name, struct stat *stp)
-  {
-+ #ifdef FEAT_MBYTE
-+     /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
-+      * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
-+      * UTF-8. */
-+     char	buf[_MAX_PATH * 3 + 1];
-+ #else
-      char	buf[_MAX_PATH + 1];
-+ #endif
-      char	*p;
-  
-!     vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1);
-      p = buf + strlen(buf);
-      if (p > buf)
-  	mb_ptr_back(buf, p);
-*** ../vim-7.4.012/src/version.c	2013-08-30 16:44:15.000000000 +0200
---- src/version.c	2013-08-30 16:47:36.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     13,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-143. You dream in pallettes of 216 websafe colors.
-
- /// 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    ///
diff --git a/7.4.014 b/7.4.014
deleted file mode 100644
index f655433..0000000
--- a/7.4.014
+++ /dev/null
@@ -1,102 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.014
-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.014
-Problem:    MS-Windows: check for writing to device does not work.
-Solution:   Fix #ifdefs. (Ken Takata)
-Files:	    src/fileio.c
-
-
-*** ../vim-7.4.013/src/fileio.c	2013-08-25 17:46:05.000000000 +0200
---- src/fileio.c	2013-08-30 16:56:46.000000000 +0200
-***************
-*** 428,440 ****
-  	}
-      }
-  
-- #ifdef UNIX
--     /*
--      * On Unix it is possible to read a directory, so we have to
--      * check for it before the mch_open().
--      */
-      if (!read_stdin && !read_buffer)
-      {
-  	perm = mch_getperm(fname);
-  	if (perm >= 0 && !S_ISREG(perm)		    /* not a regular file ... */
-  # ifdef S_ISFIFO
---- 428,440 ----
-  	}
-      }
-  
-      if (!read_stdin && !read_buffer)
-      {
-+ #ifdef UNIX
-+ 	/*
-+ 	 * On Unix it is possible to read a directory, so we have to
-+ 	 * check for it before the mch_open().
-+ 	 */
-  	perm = mch_getperm(fname);
-  	if (perm >= 0 && !S_ISREG(perm)		    /* not a regular file ... */
-  # ifdef S_ISFIFO
-***************
-*** 457,464 ****
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-! 
-! # if defined(MSDOS) || defined(MSWIN) || defined(OS2)
-  	/*
-  	 * MS-Windows allows opening a device, but we will probably get stuck
-  	 * trying to read it.
---- 457,464 ----
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-! #endif
-! #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
-  	/*
-  	 * MS-Windows allows opening a device, but we will probably get stuck
-  	 * trying to read it.
-***************
-*** 470,478 ****
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-- # endif
--     }
-  #endif
-  
-      /* Set default or forced 'fileformat' and 'binary'. */
-      set_file_options(set_options, eap);
---- 470,477 ----
-  	    msg_scroll = msg_save;
-  	    return FAIL;
-  	}
-  #endif
-+     }
-  
-      /* Set default or forced 'fileformat' and 'binary'. */
-      set_file_options(set_options, eap);
-*** ../vim-7.4.013/src/version.c	2013-08-30 16:51:15.000000000 +0200
---- src/version.c	2013-08-30 16:54:33.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     14,
-  /**/
-
--- 
-Drink wet cement and get really stoned.
-
- /// 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    ///
diff --git a/7.4.015 b/7.4.015
deleted file mode 100644
index e8b284d..0000000
--- a/7.4.015
+++ /dev/null
@@ -1,106 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.015
-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.015
-Problem:    MS-Windows: Detecting node type does not work for multi-byte
-	    characters.
-Solution:   Use wide character function when needed. (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.014/src/os_win32.c	2013-08-10 12:39:12.000000000 +0200
---- src/os_win32.c	2013-08-30 17:09:47.000000000 +0200
-***************
-*** 3107,3112 ****
---- 3107,3115 ----
-  {
-      HANDLE	hFile;
-      int		type;
-+ #ifdef FEAT_MBYTE
-+     WCHAR	*wn = NULL;
-+ #endif
-  
-      /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
-       * read from it later will cause Vim to hang.  Thus return NODE_WRITABLE
-***************
-*** 3114,3127 ****
-      if (STRNCMP(name, "\\\\.\\", 4) == 0)
-  	return NODE_WRITABLE;
-  
-!     hFile = CreateFile(name,		/* file name */
-! 		GENERIC_WRITE,		/* access mode */
-! 		0,			/* share mode */
-! 		NULL,			/* security descriptor */
-! 		OPEN_EXISTING,		/* creation disposition */
-! 		0,			/* file attributes */
-! 		NULL);			/* handle to template file */
-  
-      if (hFile == INVALID_HANDLE_VALUE)
-  	return NODE_NORMAL;
-  
---- 3117,3157 ----
-      if (STRNCMP(name, "\\\\.\\", 4) == 0)
-  	return NODE_WRITABLE;
-  
-! #ifdef FEAT_MBYTE
-!     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-!     {
-! 	wn = enc_to_utf16(name, NULL);
-! 	if (wn != NULL)
-! 	{
-! 	    hFile = CreateFileW(wn,	/* file name */
-! 			GENERIC_WRITE,	/* access mode */
-! 			0,		/* share mode */
-! 			NULL,		/* security descriptor */
-! 			OPEN_EXISTING,	/* creation disposition */
-! 			0,		/* file attributes */
-! 			NULL);		/* handle to template file */
-! 	    if (hFile == INVALID_HANDLE_VALUE
-! 			      && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
-! 	    {
-! 		/* Retry with non-wide function (for Windows 98). */
-! 		vim_free(wn);
-! 		wn = NULL;
-! 	    }
-! 	}
-!     }
-!     if (wn == NULL)
-! #endif
-! 	hFile = CreateFile(name,	/* file name */
-! 		    GENERIC_WRITE,	/* access mode */
-! 		    0,			/* share mode */
-! 		    NULL,		/* security descriptor */
-! 		    OPEN_EXISTING,	/* creation disposition */
-! 		    0,			/* file attributes */
-! 		    NULL);		/* handle to template file */
-  
-+ #ifdef FEAT_MBYTE
-+     vim_free(wn);
-+ #endif
-      if (hFile == INVALID_HANDLE_VALUE)
-  	return NODE_NORMAL;
-  
-*** ../vim-7.4.014/src/version.c	2013-08-30 17:06:56.000000000 +0200
---- src/version.c	2013-08-30 17:09:35.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     15,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-144. You eagerly await the update of the "Cool Site of the 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    ///
diff --git a/7.4.016 b/7.4.016
deleted file mode 100644
index c58c605..0000000
--- a/7.4.016
+++ /dev/null
@@ -1,221 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.016
-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.016
-Problem:    MS-Windows: File name completion doesn't work properly with
-	    Chinese characters. (Yue Wu)
-Solution:   Add fname_casew(). (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.015/src/os_win32.c	2013-08-30 17:11:29.000000000 +0200
---- src/os_win32.c	2013-08-30 17:28:30.000000000 +0200
-***************
-*** 2500,2508 ****
---- 2500,2624 ----
-  }
-  
-  
-+ #ifdef FEAT_MBYTE
-+ /*
-+  * fname_casew(): Wide version of fname_case().  Set the case of the file name,
-+  * if it already exists.  When "len" is > 0, also expand short to long
-+  * filenames.
-+  * Return FAIL if wide functions are not available, OK otherwise.
-+  * NOTE: much of this is identical to fname_case(), keep in sync!
-+  */
-+     static int
-+ fname_casew(
-+     WCHAR	*name,
-+     int		len)
-+ {
-+     WCHAR		szTrueName[_MAX_PATH + 2];
-+     WCHAR		szTrueNameTemp[_MAX_PATH + 2];
-+     WCHAR		*ptrue, *ptruePrev;
-+     WCHAR		*porig, *porigPrev;
-+     int			flen;
-+     WIN32_FIND_DATAW	fb;
-+     HANDLE		hFind;
-+     int			c;
-+     int			slen;
-+ 
-+     flen = (int)wcslen(name);
-+     if (flen > _MAX_PATH)
-+ 	return OK;
-+ 
-+     /* slash_adjust(name) not needed, already adjusted by fname_case(). */
-+ 
-+     /* Build the new name in szTrueName[] one component at a time. */
-+     porig = name;
-+     ptrue = szTrueName;
-+ 
-+     if (iswalpha(porig[0]) && porig[1] == L':')
-+     {
-+ 	/* copy leading drive letter */
-+ 	*ptrue++ = *porig++;
-+ 	*ptrue++ = *porig++;
-+ 	*ptrue = NUL;	    /* in case nothing follows */
-+     }
-+ 
-+     while (*porig != NUL)
-+     {
-+ 	/* copy \ characters */
-+ 	while (*porig == psepc)
-+ 	    *ptrue++ = *porig++;
-+ 
-+ 	ptruePrev = ptrue;
-+ 	porigPrev = porig;
-+ 	while (*porig != NUL && *porig != psepc)
-+ 	{
-+ 	    *ptrue++ = *porig++;
-+ 	}
-+ 	*ptrue = NUL;
-+ 
-+ 	/* To avoid a slow failure append "\*" when searching a directory,
-+ 	 * server or network share. */
-+ 	wcscpy(szTrueNameTemp, szTrueName);
-+ 	slen = (int)wcslen(szTrueNameTemp);
-+ 	if (*porig == psepc && slen + 2 < _MAX_PATH)
-+ 	    wcscpy(szTrueNameTemp + slen, L"\\*");
-+ 
-+ 	/* Skip "", "." and "..". */
-+ 	if (ptrue > ptruePrev
-+ 		&& (ptruePrev[0] != L'.'
-+ 		    || (ptruePrev[1] != NUL
-+ 			&& (ptruePrev[1] != L'.' || ptruePrev[2] != NUL)))
-+ 		&& (hFind = FindFirstFileW(szTrueNameTemp, &fb))
-+ 						      != INVALID_HANDLE_VALUE)
-+ 	{
-+ 	    c = *porig;
-+ 	    *porig = NUL;
-+ 
-+ 	    /* Only use the match when it's the same name (ignoring case) or
-+ 	     * expansion is allowed and there is a match with the short name
-+ 	     * and there is enough room. */
-+ 	    if (_wcsicoll(porigPrev, fb.cFileName) == 0
-+ 		    || (len > 0
-+ 			&& (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0
-+ 			    && (int)(ptruePrev - szTrueName)
-+ 					   + (int)wcslen(fb.cFileName) < len)))
-+ 	    {
-+ 		wcscpy(ptruePrev, fb.cFileName);
-+ 
-+ 		/* Look for exact match and prefer it if found.  Must be a
-+ 		 * long name, otherwise there would be only one match. */
-+ 		while (FindNextFileW(hFind, &fb))
-+ 		{
-+ 		    if (*fb.cAlternateFileName != NUL
-+ 			    && (wcscoll(porigPrev, fb.cFileName) == 0
-+ 				|| (len > 0
-+ 				    && (_wcsicoll(porigPrev,
-+ 						   fb.cAlternateFileName) == 0
-+ 				    && (int)(ptruePrev - szTrueName)
-+ 					 + (int)wcslen(fb.cFileName) < len))))
-+ 		    {
-+ 			wcscpy(ptruePrev, fb.cFileName);
-+ 			break;
-+ 		    }
-+ 		}
-+ 	    }
-+ 	    FindClose(hFind);
-+ 	    *porig = c;
-+ 	    ptrue = ptruePrev + wcslen(ptruePrev);
-+ 	}
-+ 	else if (hFind == INVALID_HANDLE_VALUE
-+ 		&& GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
-+ 	    return FAIL;
-+     }
-+ 
-+     wcscpy(name, szTrueName);
-+     return OK;
-+ }
-+ #endif
-+ 
-  /*
-   * fname_case(): Set the case of the file name, if it already exists.
-   * When "len" is > 0, also expand short to long filenames.
-+  * NOTE: much of this is identical to fname_casew(), keep in sync!
-   */
-      void
-  fname_case(
-***************
-*** 2520,2530 ****
-      int			slen;
-  
-      flen = (int)STRLEN(name);
-!     if (flen == 0 || flen > _MAX_PATH)
-  	return;
-  
-      slash_adjust(name);
-  
-      /* Build the new name in szTrueName[] one component at a time. */
-      porig = name;
-      ptrue = szTrueName;
---- 2636,2679 ----
-      int			slen;
-  
-      flen = (int)STRLEN(name);
-!     if (flen == 0)
-  	return;
-  
-      slash_adjust(name);
-  
-+ #ifdef FEAT_MBYTE
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	WCHAR	*p = enc_to_utf16(name, NULL);
-+ 
-+ 	if (p != NULL)
-+ 	{
-+ 	    char_u	*q;
-+ 	    WCHAR	buf[_MAX_PATH + 2];
-+ 
-+ 	    wcscpy(buf, p);
-+ 	    vim_free(p);
-+ 
-+ 	    if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK)
-+ 	    {
-+ 		q = utf16_to_enc(buf, NULL);
-+ 		if (q != NULL)
-+ 		{
-+ 		    vim_strncpy(name, q, (len > 0) ? len - 1 : flen);
-+ 		    vim_free(q);
-+ 		    return;
-+ 		}
-+ 	    }
-+ 	}
-+ 	/* Retry with non-wide function (for Windows 98). */
-+     }
-+ #endif
-+ 
-+     /* If 'enc' is utf-8, flen can be larger than _MAX_PATH.
-+      * So we should check this after calling wide function. */
-+     if (flen > _MAX_PATH)
-+ 	return;
-+ 
-      /* Build the new name in szTrueName[] one component at a time. */
-      porig = name;
-      ptrue = szTrueName;
-*** ../vim-7.4.015/src/version.c	2013-08-30 17:11:29.000000000 +0200
---- src/version.c	2013-08-30 17:15:06.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     16,
-  /**/
-
--- 
-Fingers not found - Pound head on keyboard to continue.
-
- /// 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    ///
diff --git a/7.4.017 b/7.4.017
deleted file mode 100644
index 7d7fad8..0000000
--- a/7.4.017
+++ /dev/null
@@ -1,78 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.017
-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.017
-Problem:    ":help !!" does not find the "!!" tag in the help file. (Ben
-	    Fritz)
-Solution:   When reading the start of the tags file do parse lines that are
-	    not header lines.
-Files:	    src/tag.c
-
-
-*** ../vim-7.4.016/src/tag.c	2013-06-15 22:26:26.000000000 +0200
---- src/tag.c	2013-09-05 12:03:38.000000000 +0200
-***************
-*** 1797,1809 ****
-  	     */
-  	    if (state == TS_START)
-  	    {
-! 		/* The header ends when the line sorts below "!_TAG_".
-! 		 * There may be non-header items before the header though,
-! 		 * e.g. "!" itself. When case is folded lower case letters
-! 		 * sort before "_". */
-  		if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
-  				|| (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
-  		{
-  		    /*
-  		     * Read header line.
-  		     */
---- 1797,1812 ----
-  	     */
-  	    if (state == TS_START)
-  	    {
-! 		/* The header ends when the line sorts below "!_TAG_".  When
-! 		 * case is folded lower case letters sort before "_". */
-  		if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
-  				|| (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
-  		{
-+ 		    if (STRNCMP(lbuf, "!_TAG_", 6) != 0)
-+ 			/* Non-header item before the header, e.g. "!" itself.
-+ 			 */
-+ 			goto parse_line;
-+ 
-  		    /*
-  		     * Read header line.
-  		     */
-***************
-*** 1898,1903 ****
---- 1901,1907 ----
-  #endif
-  	    }
-  
-+ parse_line:
-  	    /*
-  	     * Figure out where the different strings are in this line.
-  	     * For "normal" tags: Do a quick check if the tag matches.
-*** ../vim-7.4.016/src/version.c	2013-08-30 17:29:10.000000000 +0200
---- src/version.c	2013-09-05 12:02:01.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     17,
-  /**/
-
--- 
-An error has occurred.  Hit any user to continue.
-
- /// 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    ///
diff --git a/7.4.018 b/7.4.018
deleted file mode 100644
index 2214c30..0000000
--- a/7.4.018
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.018
-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.018
-Problem:    When completing item becomes unselected. (Shougo Matsu)
-Solution:   Revert patch 7.3.1269.
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.017/src/edit.c	2013-07-04 20:22:25.000000000 +0200
---- src/edit.c	2013-09-05 12:39:53.000000000 +0200
-***************
-*** 3467,3473 ****
-      }
-  
-      compl_enter_selects = !compl_used_match;
--     compl_shown_match = compl_curr_match = compl_first_match;
-  
-      /* Show the popup menu with a different set of matches. */
-      ins_compl_show_pum();
---- 3467,3472 ----
-*** ../vim-7.4.017/src/version.c	2013-09-05 12:06:26.000000000 +0200
---- src/version.c	2013-09-05 12:40:34.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     18,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-169. You hire a housekeeper for your home page.
-
- /// 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    ///
diff --git a/7.4.019 b/7.4.019
deleted file mode 100644
index b1532c1..0000000
--- a/7.4.019
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.019
-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.019
-Problem:    MS-Windows: File name completion doesn't work properly with
-	    Chinese characters. (Yue Wu)
-Solution:   Take care of multi-byte characters when looking for the start of
-	    the file name. (Ken Takata)
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.018/src/edit.c	2013-09-05 12:49:48.000000000 +0200
---- src/edit.c	2013-09-05 13:45:27.000000000 +0200
-***************
-*** 5183,5190 ****
-  	}
-  	else if (ctrl_x_mode == CTRL_X_FILES)
-  	{
-! 	    while (--startcol >= 0 && vim_isfilec(line[startcol]))
-! 		;
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
-  	    compl_pattern = addstar(line + compl_col, compl_length,
---- 5183,5196 ----
-  	}
-  	else if (ctrl_x_mode == CTRL_X_FILES)
-  	{
-! 	    char_u	*p = line + startcol;
-! 
-! 	    /* Go back to just before the first filename character. */
-! 	    mb_ptr_back(line, p);
-! 	    while (vim_isfilec(PTR2CHAR(p)) && p >= line)
-! 		mb_ptr_back(line, p);
-! 	    startcol = p - line;
-! 
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
-  	    compl_pattern = addstar(line + compl_col, compl_length,
-*** ../vim-7.4.018/src/version.c	2013-09-05 12:49:48.000000000 +0200
---- src/version.c	2013-09-05 13:41:47.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     19,
-  /**/
-
--- 
-        Very funny, Scotty.  Now beam down my clothes.
-
- /// 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    ///
diff --git a/7.4.020 b/7.4.020
deleted file mode 100644
index 942d82f..0000000
--- a/7.4.020
+++ /dev/null
@@ -1,82 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.020
-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.020
-Problem:    NFA engine matches too much with \@>. (John McGowan)
-Solution:   When a whole pattern match is found stop searching.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.019/src/regexp_nfa.c	2013-08-25 17:01:36.000000000 +0200
---- src/regexp_nfa.c	2013-09-05 15:59:44.000000000 +0200
-***************
-*** 5322,5328 ****
-  		log_subsexpr(m);
-  #endif
-  		nfa_match = TRUE;
-! 		break;
-  
-  	    case NFA_START_INVISIBLE:
-  	    case NFA_START_INVISIBLE_FIRST:
---- 5322,5331 ----
-  		log_subsexpr(m);
-  #endif
-  		nfa_match = TRUE;
-! 		/* See comment above at "goto nextchar". */
-! 		if (nextlist->n == 0)
-! 		    clen = 0;
-! 		goto nextchar;
-  
-  	    case NFA_START_INVISIBLE:
-  	    case NFA_START_INVISIBLE_FIRST:
-*** ../vim-7.4.019/src/testdir/test64.in	2013-08-14 13:31:03.000000000 +0200
---- src/testdir/test64.in	2013-09-05 15:35:44.000000000 +0200
-***************
-*** 427,432 ****
---- 427,433 ----
-  :""""" \@>
-  :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
-  :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
-+ :call add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
-  :" TODO: BT engine does not restore submatch after failure
-  :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
-  :"
-*** ../vim-7.4.019/src/testdir/test64.ok	2013-08-14 13:31:03.000000000 +0200
---- src/testdir/test64.ok	2013-09-05 16:03:34.000000000 +0200
-***************
-*** 983,988 ****
---- 983,991 ----
-  OK 0 - \(a*\)\@>b
-  OK 1 - \(a*\)\@>b
-  OK 2 - \(a*\)\@>b
-+ OK 0 - ^\(.\{-}b\)\@>.
-+ OK 1 - ^\(.\{-}b\)\@>.
-+ OK 2 - ^\(.\{-}b\)\@>.
-  OK 0 - \(a*\)\@>a\|a\+
-  OK 2 - \(a*\)\@>a\|a\+
-  OK 0 - \_[^8-9]\+
-*** ../vim-7.4.019/src/version.c	2013-09-05 13:50:49.000000000 +0200
---- src/version.c	2013-09-05 16:04:32.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     20,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-173. You keep tracking down the email addresses of all your friends
-     (even childhood friends).
-
- /// 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    ///
diff --git a/7.4.021 b/7.4.021
deleted file mode 100644
index 0936d9a..0000000
--- a/7.4.021
+++ /dev/null
@@ -1,86 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.021
-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.021
-Problem:    NFA regexp: Using \ze in one branch which doesn't match may cause
-	    end of another branch to be wrong. (William Fugh)
-Solution:   Set end position if it wasn't set yet.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.020/src/regexp_nfa.c	2013-09-05 16:05:32.000000000 +0200
---- src/regexp_nfa.c	2013-09-05 20:56:25.000000000 +0200
-***************
-*** 4209,4218 ****
-  	    break;
-  
-  	case NFA_MCLOSE:
-! 	    if (nfa_has_zend)
-  	    {
-! 		/* Do not overwrite the position set by \ze. If no \ze
-! 		 * encountered end will be set in nfa_regtry(). */
-  		subs = addstate(l, state->out, subs, pim, off);
-  		break;
-  	    }
---- 4209,4219 ----
-  	    break;
-  
-  	case NFA_MCLOSE:
-! 	    if (nfa_has_zend && (REG_MULTI
-! 			? subs->norm.list.multi[0].end.lnum >= 0
-! 			: subs->norm.list.line[0].end != NULL))
-  	    {
-! 		/* Do not overwrite the position set by \ze. */
-  		subs = addstate(l, state->out, subs, pim, off);
-  		break;
-  	    }
-*** ../vim-7.4.020/src/testdir/test64.in	2013-09-05 16:05:32.000000000 +0200
---- src/testdir/test64.in	2013-09-05 20:55:18.000000000 +0200
-***************
-*** 328,333 ****
---- 328,334 ----
-  :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
-  :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last'])
-  :call add(tl, [2, '\>\zs.', 'aword. ', '.'])
-+ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is   [a t', '  '])
-  :"
-  :"""" Tests for \@= and \& features
-  :call add(tl, [2, 'abc\@=', 'abc', 'ab'])
-*** ../vim-7.4.020/src/testdir/test64.ok	2013-09-05 16:05:32.000000000 +0200
---- src/testdir/test64.ok	2013-09-05 21:09:56.000000000 +0200
-***************
-*** 752,757 ****
---- 752,760 ----
-  OK 0 - \>\zs.
-  OK 1 - \>\zs.
-  OK 2 - \>\zs.
-+ OK 0 - \s\+\ze\[/\|\s\zs\s\+
-+ OK 1 - \s\+\ze\[/\|\s\zs\s\+
-+ OK 2 - \s\+\ze\[/\|\s\zs\s\+
-  OK 0 - abc\@=
-  OK 1 - abc\@=
-  OK 2 - abc\@=
-*** ../vim-7.4.020/src/version.c	2013-09-05 16:05:32.000000000 +0200
---- src/version.c	2013-09-05 21:11:38.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     21,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-174. You know what a listserv is.
-
- /// 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    ///
diff --git a/7.4.022 b/7.4.022
deleted file mode 100644
index 81a0901..0000000
--- a/7.4.022
+++ /dev/null
@@ -1,148 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.022
-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.022
-Problem:    Deadlock while exiting, because of allocating memory.
-Solution:   Do not use gettext() in deathtrap(). (James McCoy)
-Files:	    src/os_unix.c, src/misc1.c
-
-
-*** ../vim-7.4.021/src/os_unix.c	2013-07-03 16:32:32.000000000 +0200
---- src/os_unix.c	2013-09-05 21:40:06.000000000 +0200
-***************
-*** 957,964 ****
-  
-  /*
-   * This function handles deadly signals.
-!  * It tries to preserve any swap file and exit properly.
-   * (partly from Elvis).
-   */
-      static RETSIGTYPE
-  deathtrap SIGDEFARG(sigarg)
---- 957,966 ----
-  
-  /*
-   * This function handles deadly signals.
-!  * It tries to preserve any swap files and exit properly.
-   * (partly from Elvis).
-+  * NOTE: Avoid unsafe functions, such as allocating memory, they can result in
-+  * a deadlock.
-   */
-      static RETSIGTYPE
-  deathtrap SIGDEFARG(sigarg)
-***************
-*** 1090,1107 ****
-      }
-      if (entered == 2)
-      {
-! 	OUT_STR(_("Vim: Double signal, exiting\n"));
-  	out_flush();
-  	getout(1);
-      }
-  
-  #ifdef SIGHASARG
-!     sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"),
-  							 signal_info[i].name);
-  #else
-!     sprintf((char *)IObuff, _("Vim: Caught deadly signal\n"));
-  #endif
-!     preserve_exit();		    /* preserve files and exit */
-  
-  #ifdef NBDEBUG
-      reset_signals();
---- 1092,1114 ----
-      }
-      if (entered == 2)
-      {
-! 	/* No translation, it may call malloc(). */
-! 	OUT_STR("Vim: Double signal, exiting\n");
-  	out_flush();
-  	getout(1);
-      }
-  
-+     /* No translation, it may call malloc(). */
-  #ifdef SIGHASARG
-!     sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n",
-  							 signal_info[i].name);
-  #else
-!     sprintf((char *)IObuff, "Vim: Caught deadly signal\n");
-  #endif
-! 
-!     /* Preserve files and exit.  This sets the really_exiting flag to prevent
-!      * calling free(). */
-!     preserve_exit();
-  
-  #ifdef NBDEBUG
-      reset_signals();
-*** ../vim-7.4.021/src/misc1.c	2013-08-03 17:29:33.000000000 +0200
---- src/misc1.c	2013-09-05 21:34:04.000000000 +0200
-***************
-*** 9174,9179 ****
---- 9174,9181 ----
-  /*
-   * Preserve files and exit.
-   * When called IObuff must contain a message.
-+  * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe
-+  * functions, such as allocating memory.
-   */
-      void
-  preserve_exit()
-***************
-*** 9196,9202 ****
-      {
-  	if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
-  	{
-! 	    OUT_STR(_("Vim: preserving files...\n"));
-  	    screen_start();	    /* don't know where cursor is now */
-  	    out_flush();
-  	    ml_sync_all(FALSE, FALSE);	/* preserve all swap files */
---- 9198,9204 ----
-      {
-  	if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
-  	{
-! 	    OUT_STR("Vim: preserving files...\n");
-  	    screen_start();	    /* don't know where cursor is now */
-  	    out_flush();
-  	    ml_sync_all(FALSE, FALSE);	/* preserve all swap files */
-***************
-*** 9206,9212 ****
-  
-      ml_close_all(FALSE);	    /* close all memfiles, without deleting */
-  
-!     OUT_STR(_("Vim: Finished.\n"));
-  
-      getout(1);
-  }
---- 9208,9214 ----
-  
-      ml_close_all(FALSE);	    /* close all memfiles, without deleting */
-  
-!     OUT_STR("Vim: Finished.\n");
-  
-      getout(1);
-  }
-*** ../vim-7.4.021/src/version.c	2013-09-05 21:15:38.000000000 +0200
---- src/version.c	2013-09-05 21:30:18.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     22,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-175. You send yourself e-mail before you go to bed to remind you
-     what to do when you wake up.
-
- /// 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    ///
diff --git a/7.4.023 b/7.4.023
deleted file mode 100644
index 0300521..0000000
--- a/7.4.023
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.023
-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.023
-Problem:    Compiler warning on 64 bit windows.
-Solution:   Add type cast. (Mike Williams)
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.022/src/edit.c	2013-09-05 13:50:49.000000000 +0200
---- src/edit.c	2013-09-06 17:32:55.000000000 +0200
-***************
-*** 5189,5195 ****
-  	    mb_ptr_back(line, p);
-  	    while (vim_isfilec(PTR2CHAR(p)) && p >= line)
-  		mb_ptr_back(line, p);
-! 	    startcol = p - line;
-  
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
---- 5189,5195 ----
-  	    mb_ptr_back(line, p);
-  	    while (vim_isfilec(PTR2CHAR(p)) && p >= line)
-  		mb_ptr_back(line, p);
-! 	    startcol = (int)(p - line);
-  
-  	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
-*** ../vim-7.4.022/src/version.c	2013-09-05 21:41:35.000000000 +0200
---- src/version.c	2013-09-06 17:33:41.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     23,
-  /**/
-
--- 
-Wizards had always known that the act of observation changed the thing that
-was observed, and sometimes forgot that it also changed the observer too.
-			Terry Pratchett  -  Interesting times
-
- /// 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    ///
diff --git a/7.4.024 b/7.4.024
deleted file mode 100644
index da0df9c..0000000
--- a/7.4.024
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.024
-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.024
-Problem:    When root edits a file the undo file is owned by root while the
-	    edited file may be owned by another user, which is not allowed.
-	    (cac2s)
-Solution:   Accept an undo file owned by the current user.
-Files:	    src/undo.c
-
-
-*** ../vim-7.4.023/src/undo.c	2013-06-10 20:13:37.000000000 +0200
---- src/undo.c	2013-09-07 15:45:56.000000000 +0200
-***************
-*** 1604,1613 ****
-  
-  #ifdef UNIX
-  	/* For safety we only read an undo file if the owner is equal to the
-! 	 * owner of the text file. */
-  	if (mch_stat((char *)orig_name, &st_orig) >= 0
-  		&& mch_stat((char *)file_name, &st_undo) >= 0
-! 		&& st_orig.st_uid != st_undo.st_uid)
-  	{
-  	    if (p_verbose > 0)
-  	    {
---- 1604,1614 ----
-  
-  #ifdef UNIX
-  	/* For safety we only read an undo file if the owner is equal to the
-! 	 * owner of the text file or equal to the current user. */
-  	if (mch_stat((char *)orig_name, &st_orig) >= 0
-  		&& mch_stat((char *)file_name, &st_undo) >= 0
-! 		&& st_orig.st_uid != st_undo.st_uid
-! 		&& st_undo.st_uid != getuid())
-  	{
-  	    if (p_verbose > 0)
-  	    {
-*** ../vim-7.4.023/src/version.c	2013-09-07 16:35:38.000000000 +0200
---- src/version.c	2013-09-08 15:38:52.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     24,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-186. You overstay in the office so you can have more time surfing the net.
-
- /// 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    ///
diff --git a/7.4.025 b/7.4.025
deleted file mode 100644
index 9ead176..0000000
--- a/7.4.025
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.025
-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.025 (after 7.4.019
-Problem:    Reading before start of a string.
-Solution:   Do not call mb_ptr_back() at start of a string. (Dominique Pelle)
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.024/src/edit.c	2013-09-07 16:35:38.000000000 +0200
---- src/edit.c	2013-09-08 15:57:20.000000000 +0200
-***************
-*** 5187,5197 ****
-  
-  	    /* Go back to just before the first filename character. */
-  	    mb_ptr_back(line, p);
-! 	    while (vim_isfilec(PTR2CHAR(p)) && p >= line)
-  		mb_ptr_back(line, p);
-! 	    startcol = (int)(p - line);
-  
-! 	    compl_col += ++startcol;
-  	    compl_length = (int)curs_col - startcol;
-  	    compl_pattern = addstar(line + compl_col, compl_length,
-  								EXPAND_FILES);
---- 5187,5199 ----
-  
-  	    /* Go back to just before the first filename character. */
-  	    mb_ptr_back(line, p);
-! 	    while (p > line && vim_isfilec(PTR2CHAR(p)))
-  		mb_ptr_back(line, p);
-! 	    startcol = (int)(p - line) + 1;
-! 	    if (p == line && vim_isfilec(PTR2CHAR(p)))
-! 		startcol = 0;
-  
-! 	    compl_col += startcol;
-  	    compl_length = (int)curs_col - startcol;
-  	    compl_pattern = addstar(line + compl_col, compl_length,
-  								EXPAND_FILES);
-*** ../vim-7.4.024/src/version.c	2013-09-08 15:40:45.000000000 +0200
---- src/version.c	2013-09-08 15:52:39.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     25,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-188. You purchase a laptop so you can surf while sitting on the can.
-
- /// 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    ///
diff --git a/7.4.026 b/7.4.026
deleted file mode 100644
index 8add91f..0000000
--- a/7.4.026
+++ /dev/null
@@ -1,65 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.026
-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.026
-Problem:    Clang warning for int shift overflow.
-Solution:   Use unsigned and cast back to int. (Dominique Pelle)
-Files:	    src/misc2.c
-
-
-*** ../vim-7.4.025/src/misc2.c	2013-07-07 16:03:35.000000000 +0200
---- src/misc2.c	2013-09-08 16:04:54.000000000 +0200
-***************
-*** 6496,6508 ****
-  get4c(fd)
-      FILE	*fd;
-  {
-!     int		n;
-  
-!     n = getc(fd);
-!     n = (n << 8) + getc(fd);
-!     n = (n << 8) + getc(fd);
-!     n = (n << 8) + getc(fd);
-!     return n;
-  }
-  
-  /*
---- 6496,6510 ----
-  get4c(fd)
-      FILE	*fd;
-  {
-!     /* Use unsigned rather than int otherwise result is undefined
-!      * when left-shift sets the MSB. */
-!     unsigned	n;
-  
-!     n = (unsigned)getc(fd);
-!     n = (n << 8) + (unsigned)getc(fd);
-!     n = (n << 8) + (unsigned)getc(fd);
-!     n = (n << 8) + (unsigned)getc(fd);
-!     return (int)n;
-  }
-  
-  /*
-*** ../vim-7.4.025/src/version.c	2013-09-08 16:03:40.000000000 +0200
---- src/version.c	2013-09-08 16:05:40.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     26,
-  /**/
-
--- 
-A computer program does what you tell it to do, not what you want it to do.
-
- /// 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    ///
diff --git a/7.4.027 b/7.4.027
deleted file mode 100644
index ab43d59..0000000
--- a/7.4.027
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.027
-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.027 (after 7.4.025)
-Problem:    Another valgrind error when using CTRL-X CTRL-F at the start of
-	    the line. (Dominique Pelle)
-Solution:   Don't call mb_ptr_back() at the start of the line.  Add a test.
-Files:	    src/edit.c, src/testdir/test32.in
-
-
-*** ../vim-7.4.026/src/edit.c	2013-09-08 16:03:40.000000000 +0200
---- src/edit.c	2013-09-08 18:18:32.000000000 +0200
-***************
-*** 5183,5197 ****
-  	}
-  	else if (ctrl_x_mode == CTRL_X_FILES)
-  	{
-- 	    char_u	*p = line + startcol;
-- 
-  	    /* Go back to just before the first filename character. */
-! 	    mb_ptr_back(line, p);
-! 	    while (p > line && vim_isfilec(PTR2CHAR(p)))
-  		mb_ptr_back(line, p);
-! 	    startcol = (int)(p - line) + 1;
-! 	    if (p == line && vim_isfilec(PTR2CHAR(p)))
-! 		startcol = 0;
-  
-  	    compl_col += startcol;
-  	    compl_length = (int)curs_col - startcol;
---- 5183,5201 ----
-  	}
-  	else if (ctrl_x_mode == CTRL_X_FILES)
-  	{
-  	    /* Go back to just before the first filename character. */
-! 	    if (startcol > 0)
-! 	    {
-! 		char_u	*p = line + startcol;
-! 
-  		mb_ptr_back(line, p);
-! 		while (p > line && vim_isfilec(PTR2CHAR(p)))
-! 		    mb_ptr_back(line, p);
-! 		if (p == line && vim_isfilec(PTR2CHAR(p)))
-! 		    startcol = 0;
-! 		else
-! 		    startcol = (int)(p - line) + 1;
-! 	    }
-  
-  	    compl_col += startcol;
-  	    compl_length = (int)curs_col - startcol;
-*** ../vim-7.4.026/src/testdir/test32.in	2010-05-15 13:04:10.000000000 +0200
---- src/testdir/test32.in	2013-09-08 18:08:07.000000000 +0200
-***************
-*** 36,41 ****
---- 36,44 ----
-  :w Xtest11.one
-  :w Xtest11.two
-  OIXA
-+ :" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
-+ :" CTRL-X CTRL-F again to verify this doesn't cause trouble.
-+ OXddk
-  :se cpt=w
-  OST
-  :se cpt=u nohid
-*** ../vim-7.4.026/src/version.c	2013-09-08 16:07:03.000000000 +0200
---- src/version.c	2013-09-08 18:14:17.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     27,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-190. You quickly hand over your wallet, leather jacket, and car keys
-     during a mugging, then proceed to beat the crap out of your
-     assailant when he asks for your laptop.
-
- /// 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    ///
diff --git a/7.4.028 b/7.4.028
deleted file mode 100644
index 4a0e3cf..0000000
--- a/7.4.028
+++ /dev/null
@@ -1,753 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.028
-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.028
-Problem:    Equivalence classes are not working for multi-byte characters.
-Solution:   Copy the rules from the old to the new regexp engine. Add a test
-	    to check both engines.
-Files:	    src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in,
-	    src/testdir/test99.ok, 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
-
-
-*** ../vim-7.4.027/src/regexp_nfa.c	2013-09-05 21:15:38.000000000 +0200
---- src/regexp_nfa.c	2013-09-19 16:40:08.000000000 +0200
-***************
-*** 742,748 ****
-  nfa_emit_equi_class(c)
-      int	    c;
-  {
-! #define EMIT2(c)   EMIT(c); EMIT(NFA_CONCAT);
-  
-  #ifdef FEAT_MBYTE
-      if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
---- 742,753 ----
-  nfa_emit_equi_class(c)
-      int	    c;
-  {
-! #define EMIT2(c)    EMIT(c); EMIT(NFA_CONCAT);
-! #ifdef FEAT_MBYTE
-! # define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT);
-! #else
-! # define EMITMBC(c)
-! #endif
-  
-  #ifdef FEAT_MBYTE
-      if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
-***************
-*** 753,844 ****
-  	{
-  	    case 'A': case 0300: case 0301: case 0302:
-  	    case 0303: case 0304: case 0305:
-! 		    EMIT2('A');	    EMIT2(0300);    EMIT2(0301);
-! 		    EMIT2(0302);    EMIT2(0303);    EMIT2(0304);
-! 		    EMIT2(0305);
-  		    return OK;
-  
-  	    case 'C': case 0307:
-! 		    EMIT2('C');	    EMIT2(0307);
-  		    return OK;
-  
-  	    case 'E': case 0310: case 0311: case 0312: case 0313:
-! 		    EMIT2('E');	    EMIT2(0310);    EMIT2(0311);
-! 		    EMIT2(0312);    EMIT2(0313);
-  		    return OK;
-  
-  	    case 'I': case 0314: case 0315: case 0316: case 0317:
-! 		    EMIT2('I');	    EMIT2(0314);    EMIT2(0315);
-! 		    EMIT2(0316);    EMIT2(0317);
-  		    return OK;
-  
-  	    case 'N': case 0321:
-! 		    EMIT2('N');	    EMIT2(0321);
-  		    return OK;
-  
-  	    case 'O': case 0322: case 0323: case 0324: case 0325:
-! 	    case 0326:
-! 		    EMIT2('O');	    EMIT2(0322);    EMIT2(0323);
-! 		    EMIT2(0324);    EMIT2(0325);    EMIT2(0326);
-  		    return OK;
-  
-  	    case 'U': case 0331: case 0332: case 0333: case 0334:
-! 		    EMIT2('U');	    EMIT2(0331);    EMIT2(0332);
-! 		    EMIT2(0333);    EMIT2(0334);
-  		    return OK;
-  
-  	    case 'Y': case 0335:
-! 		    EMIT2('Y');	    EMIT2(0335);
-  		    return OK;
-  
-  	    case 'a': case 0340: case 0341: case 0342:
-  	    case 0343: case 0344: case 0345:
-! 		    EMIT2('a');	    EMIT2(0340);    EMIT2(0341);
-! 		    EMIT2(0342);    EMIT2(0343);    EMIT2(0344);
-! 		    EMIT2(0345);
-  		    return OK;
-  
-  	    case 'c': case 0347:
-! 		    EMIT2('c');	    EMIT2(0347);
-  		    return OK;
-  
-  	    case 'e': case 0350: case 0351: case 0352: case 0353:
-! 		    EMIT2('e');	    EMIT2(0350);    EMIT2(0351);
-! 		    EMIT2(0352);    EMIT2(0353);
-  		    return OK;
-  
-  	    case 'i': case 0354: case 0355: case 0356: case 0357:
-! 		    EMIT2('i');	    EMIT2(0354);    EMIT2(0355);
-! 		    EMIT2(0356);    EMIT2(0357);
-  		    return OK;
-  
-  	    case 'n': case 0361:
-! 		    EMIT2('n');	    EMIT2(0361);
-  		    return OK;
-  
-  	    case 'o': case 0362: case 0363: case 0364: case 0365:
-! 	    case 0366:
-! 		    EMIT2('o');	    EMIT2(0362);    EMIT2(0363);
-! 		    EMIT2(0364);    EMIT2(0365);    EMIT2(0366);
-  		    return OK;
-  
-  	    case 'u': case 0371: case 0372: case 0373: case 0374:
-! 		    EMIT2('u');	    EMIT2(0371);    EMIT2(0372);
-! 		    EMIT2(0373);    EMIT2(0374);
-  		    return OK;
-  
-  	    case 'y': case 0375: case 0377:
-! 		    EMIT2('y');	    EMIT2(0375);    EMIT2(0377);
-  		    return OK;
-  
-! 	    default:
-! 		    return FAIL;
-  	}
-      }
-  
-!     EMIT(c);
-      return OK;
-  #undef EMIT2
-  }
-  
-  /*
---- 758,1095 ----
-  	{
-  	    case 'A': case 0300: case 0301: case 0302:
-  	    case 0303: case 0304: case 0305:
-! 	    CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
-! 	    CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
-! 		    EMIT2('A');	EMIT2(0300); EMIT2(0301); EMIT2(0302);
-! 		    EMIT2(0303); EMIT2(0304); EMIT2(0305);
-! 		    EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104)
-! 		    EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0)
-! 		    EMITMBC(0x1ea2)
-! 		    return OK;
-! 
-! 	    case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06)
-! 		    EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06)
-  		    return OK;
-  
-  	    case 'C': case 0307:
-! 	    CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
-! 		    EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108)
-! 		    EMITMBC(0x10a) EMITMBC(0x10c)
-! 		    return OK;
-! 
-! 	    case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
-! 	    CASEMBC(0x1e0e) CASEMBC(0x1e10)
-! 		    EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a)
-! 		    EMITMBC(0x1e0e) EMITMBC(0x1e10)
-  		    return OK;
-  
-  	    case 'E': case 0310: case 0311: case 0312: case 0313:
-! 	    CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
-! 	    CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
-! 		    EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312);
-! 		    EMIT2(0313);
-! 		    EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116)
-! 		    EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba)
-! 		    EMITMBC(0x1ebc)
-! 		    return OK;
-! 
-! 	    case 'F': CASEMBC(0x1e1e)
-! 		    EMIT2('F'); EMITMBC(0x1e1e)
-! 		    return OK;
-! 
-! 	    case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
-! 	    CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
-! 	    CASEMBC(0x1e20)
-! 		    EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120)
-! 		    EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6)
-! 		    EMITMBC(0x1f4) EMITMBC(0x1e20)
-! 		    return OK;
-! 
-! 	    case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
-! 	    CASEMBC(0x1e26) CASEMBC(0x1e28)
-! 		    EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22)
-! 		    EMITMBC(0x1e26) EMITMBC(0x1e28)
-  		    return OK;
-  
-  	    case 'I': case 0314: case 0315: case 0316: case 0317:
-! 	    CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
-! 	    CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
-! 		    EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316);
-! 		    EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a)
-! 		    EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130)
-! 		    EMITMBC(0x1cf) EMITMBC(0x1ec8)
-! 		    return OK;
-! 
-! 	    case 'J': CASEMBC(0x134)
-! 		    EMIT2('J'); EMITMBC(0x134)
-! 		    return OK;
-! 
-! 	    case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
-! 	    CASEMBC(0x1e34)
-! 		    EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30)
-! 		    EMITMBC(0x1e34)
-! 		    return OK;
-! 
-! 	    case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
-! 	    CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
-! 		    EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d)
-! 		    EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a)
-! 		    return OK;
-! 
-! 	    case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40)
-! 		    EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40)
-  		    return OK;
-  
-  	    case 'N': case 0321:
-! 	    CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
-! 	    CASEMBC(0x1e48)
-! 		    EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145)
-! 		    EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48)
-  		    return OK;
-  
-  	    case 'O': case 0322: case 0323: case 0324: case 0325:
-! 	    case 0326: case 0330:
-! 	    CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
-! 	    CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
-! 		    EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324);
-! 		    EMIT2(0325); EMIT2(0326); EMIT2(0330);
-! 		    EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150)
-! 		    EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea)
-! 		    EMITMBC(0x1ec) EMITMBC(0x1ece)
-! 		    return OK;
-! 
-! 	    case 'P': case 0x1e54: case 0x1e56:
-! 		    EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56)
-! 		    return OK;
-! 
-! 	    case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
-! 	    CASEMBC(0x1e58) CASEMBC(0x1e5e)
-! 		    EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158)
-! 		    EMITMBC(0x1e58) EMITMBC(0x1e5e)
-! 		    return OK;
-! 
-! 	    case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
-! 	    CASEMBC(0x160) CASEMBC(0x1e60)
-! 		    EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e)
-! 		    EMITMBC(0x160) EMITMBC(0x1e60)
-! 		    return OK;
-! 
-! 	    case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
-! 	    CASEMBC(0x1e6a) CASEMBC(0x1e6e)
-! 		    EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166)
-! 		    EMITMBC(0x1e6a) EMITMBC(0x1e6e)
-  		    return OK;
-  
-  	    case 'U': case 0331: case 0332: case 0333: case 0334:
-! 	    CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
-! 	    CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
-! 	    CASEMBC(0x1ee6)
-! 		    EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333);
-! 		    EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a)
-! 		    EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170)
-! 		    EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3)
-! 		    EMITMBC(0x1ee6)
-! 		    return OK;
-! 
-! 	    case 'V': CASEMBC(0x1e7c)
-! 		    EMIT2('V'); EMITMBC(0x1e7c)
-! 		    return OK;
-! 
-! 	    case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
-! 	    CASEMBC(0x1e84) CASEMBC(0x1e86)
-! 		    EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82)
-! 		    EMITMBC(0x1e84) EMITMBC(0x1e86)
-! 		    return OK;
-! 
-! 	    case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c)
-! 		    EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c)
-  		    return OK;
-  
-  	    case 'Y': case 0335:
-! 	    CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
-! 	    CASEMBC(0x1ef6) CASEMBC(0x1ef8)
-! 		    EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178)
-! 		    EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6)
-! 		    EMITMBC(0x1ef8)
-! 		    return OK;
-! 
-! 	    case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
-! 	    CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
-! 		    EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d)
-! 		    EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94)
-  		    return OK;
-  
-  	    case 'a': case 0340: case 0341: case 0342:
-  	    case 0343: case 0344: case 0345:
-! 	    CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
-! 	    CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
-! 		    EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342);
-! 		    EMIT2(0343); EMIT2(0344); EMIT2(0345);
-! 		    EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105)
-! 		    EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1)
-! 		    EMITMBC(0x1ea3)
-! 		    return OK;
-! 
-! 	    case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07)
-! 		    EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07)
-  		    return OK;
-  
-  	    case 'c': case 0347:
-! 	    CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
-! 		    EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
-! 		    EMITMBC(0x10b) EMITMBC(0x10d)
-! 		    return OK;
-! 
-! 	    case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b)
-! 	    CASEMBC(0x1e11)
-! 		    EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b)
-! 		    EMITMBC(0x01e0f) EMITMBC(0x1e11)
-  		    return OK;
-  
-  	    case 'e': case 0350: case 0351: case 0352: case 0353:
-! 	    CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
-! 	    CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
-! 		    EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352);
-! 		    EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115)
-! 		    EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b)
-! 		    EMITMBC(0x1ebb) EMITMBC(0x1ebd)
-! 		    return OK;
-! 
-! 	    case 'f': CASEMBC(0x1e1f)
-! 		    EMIT2('f'); EMITMBC(0x1e1f)
-! 		    return OK;
-! 
-! 	    case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
-! 	    CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
-! 	    CASEMBC(0x1e21)
-! 		    EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121)
-! 		    EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7)
-! 		    EMITMBC(0x1f5) EMITMBC(0x1e21)
-! 		    return OK;
-! 
-! 	    case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
-! 	    CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
-! 		    EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23)
-! 		    EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96)
-  		    return OK;
-  
-  	    case 'i': case 0354: case 0355: case 0356: case 0357:
-! 	    CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
-! 	    CASEMBC(0x1d0) CASEMBC(0x1ec9)
-! 		    EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356);
-! 		    EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b)
-! 		    EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0)
-! 		    EMITMBC(0x1ec9)
-! 		    return OK;
-! 
-! 	    case 'j': CASEMBC(0x135) CASEMBC(0x1f0)
-! 		    EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0)
-! 		    return OK;
-! 
-! 	    case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
-! 	    CASEMBC(0x1e35)
-! 		    EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31)
-! 		    EMITMBC(0x1e35)
-! 		    return OK;
-! 
-! 	    case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
-! 	    CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
-! 		    EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e)
-! 		    EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b)
-! 		    return OK;
-! 
-! 	    case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41)
-! 		    EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41)
-  		    return OK;
-  
-  	    case 'n': case 0361:
-! 	    CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
-! 	    CASEMBC(0x1e45) CASEMBC(0x1e49)
-! 		    EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146)
-! 		    EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45)
-! 		    EMITMBC(0x1e49)
-  		    return OK;
-  
-  	    case 'o': case 0362: case 0363: case 0364: case 0365:
-! 	    case 0366: case 0370:
-! 	    CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
-! 	    CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
-! 		    EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364);
-! 		    EMIT2(0365); EMIT2(0366); EMIT2(0370);
-! 		    EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151)
-! 		    EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb)
-! 		    EMITMBC(0x1ed) EMITMBC(0x1ecf)
-! 		    return OK;
-! 
-! 	    case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57)
-! 		    EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57)
-! 		    return OK;
-! 
-! 	    case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
-! 	    CASEMBC(0x1e59) CASEMBC(0x1e5f)
-! 		    EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159)
-! 		    EMITMBC(0x1e59) EMITMBC(0x1e5f)
-! 		    return OK;
-! 
-! 	    case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
-! 	    CASEMBC(0x161) CASEMBC(0x1e61)
-! 		    EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f)
-! 		    EMITMBC(0x161) EMITMBC(0x1e61)
-! 		    return OK;
-! 
-! 	    case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
-! 	    CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
-! 		    EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167)
-! 		    EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97)
-  		    return OK;
-  
-  	    case 'u': case 0371: case 0372: case 0373: case 0374:
-! 	    CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
-! 	    CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
-! 	    CASEMBC(0x1ee7)
-! 		    EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373);
-! 		    EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b)
-! 		    EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171)
-! 		    EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4)
-! 		    EMITMBC(0x1ee7)
-! 		    return OK;
-! 
-! 	    case 'v': CASEMBC(0x1e7d)
-! 		    EMIT2('v'); EMITMBC(0x1e7d)
-! 		    return OK;
-! 
-! 	    case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
-! 	    CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
-! 		    EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83)
-! 		    EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98)
-! 		    return OK;
-! 
-! 	    case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d)
-! 		    EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d)
-  		    return OK;
-  
-  	    case 'y': case 0375: case 0377:
-! 	    CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
-! 	    CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
-! 		    EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177)
-! 		    EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3)
-! 		    EMITMBC(0x1ef7) EMITMBC(0x1ef9)
-! 		    return OK;
-! 
-! 	    case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
-! 	    CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
-! 		    EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e)
-! 		    EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95)
-  		    return OK;
-  
-! 	    /* default: character itself */
-  	}
-      }
-  
-!     EMIT2(c);
-      return OK;
-  #undef EMIT2
-+ #undef EMITMBC
-  }
-  
-  /*
-*** ../vim-7.4.027/src/testdir/test44.in	2013-05-26 14:16:31.000000000 +0200
---- src/testdir/test44.in	2013-09-19 16:49:14.000000000 +0200
-***************
-*** 1,9 ****
---- 1,11 ----
-  Tests for regexp with multi-byte encoding and various magic settings.
-  Test matchstr() with a count and multi-byte chars.
-+ See test99 for exactly the same test with re=2.
-  
-  STARTTEST
-  :so mbyte.vim
-  :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
-+ :set re=1
-  /^1
-  /a*b\{2}c\+/e
-  x/\Md\*e\{2}f\+/e
-*** ../vim-7.4.027/src/testdir/test99.in	2013-09-19 16:59:30.000000000 +0200
---- src/testdir/test99.in	2013-09-19 16:50:00.000000000 +0200
-***************
-*** 0 ****
---- 1,68 ----
-+ Tests for regexp with multi-byte encoding and various magic settings.
-+ Test matchstr() with a count and multi-byte chars.
-+ See test44 for exactly the same test with re=1.
-+ 
-+ STARTTEST
-+ :so mbyte.vim
-+ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
-+ :set re=2
-+ /^1
-+ /a*b\{2}c\+/e
-+ x/\Md\*e\{2}f\+/e
-+ x:set nomagic
-+ /g\*h\{2}i\+/e
-+ x/\mj*k\{2}l\+/e
-+ x/\vm*n{2}o+/e
-+ x/\V^aa$
-+ x:set magic
-+ /\v(a)(b)\2\1\1/e
-+ x/\V[ab]\(\[xy]\)\1
-+ x:" Now search for multi-byte without composing char
-+ /ม
-+ x:" Now search for multi-byte with composing char
-+ /ม่
-+ x:" find word by change of word class
-+ /ち\<カヨ\>は
-+ x:" Test \%u, [\u] and friends
-+ /\%u20ac
-+ x/[\u4f7f\u5929]\+
-+ x/\%U12345678
-+ x/[\U1234abcd\u1234\uabcd]
-+ x/\%d21879b
-+ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
-+ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
-+ x:" Test backwards search from a multi-byte char
-+ /x
-+ x?.
-+ x:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
-+ :@w
-+ :?^1?,$w! test.out
-+ :e! test.out
-+ G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
-+ :put =matchstr(\"אבגד\", \"..\", 0, 2) " בג
-+ :put =matchstr(\"אבגד\", \".\", 0, 0) " א
-+ :put =matchstr(\"אבגד\", \".\", 4, -1) " ג
-+ :w!
-+ :qa!
-+ ENDTEST
-+ 
-+ 1 a aa abb abbccc
-+ 2 d dd dee deefff
-+ 3 g gg ghh ghhiii
-+ 4 j jj jkk jkklll
-+ 5 m mm mnn mnnooo
-+ 6 x ^aa$ x
-+ 7 (a)(b) abbaa
-+ 8 axx [ab]xx
-+ 9 หม่x อมx
-+ a อมx หม่x
-+ b ちカヨは
-+ c x ¬€x
-+ d 天使x
-+ e ������y
-+ f ������z
-+ g a啷bb
-+ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐẔ
-+ i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ
-+ j 0123❤x
-+ k combinations
-*** ../vim-7.4.027/src/testdir/test99.ok	2013-09-19 16:59:30.000000000 +0200
---- src/testdir/test99.ok	2013-09-19 16:50:16.000000000 +0200
-***************
-*** 0 ****
---- 1,24 ----
-+ 1 a aa abb abbcc
-+ 2 d dd dee deeff
-+ 3 g gg ghh ghhii
-+ 4 j jj jkk jkkll
-+ 5 m mm mnn mnnoo
-+ 6 x aa$ x
-+ 7 (a)(b) abba
-+ 8 axx ab]xx
-+ 9 หม่x อx
-+ a อมx หx
-+ b カヨは
-+ c x ¬x
-+ d 使x
-+ e y
-+ f z
-+ g abb
-+ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐ
-+ i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑ
-+ j 012❤
-+ k œ̄ṣ́m̥̄ᾱ̆́
-+ ב
-+ בג
-+ א
-+ ג
-*** ../vim-7.4.027/src/testdir/Make_amiga.mak	2013-07-09 13:40:02.000000000 +0200
---- src/testdir/Make_amiga.mak	2013-09-19 16:51:48.000000000 +0200
-***************
-*** 33,39 ****
-  		test76.out test77.out test78.out test79.out test80.out \
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test97.out test98.out
-  
-  .SUFFIXES: .in .out
-  
---- 33,40 ----
-  		test76.out test77.out test78.out test79.out test80.out \
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 148,150 ****
---- 149,152 ----
-  test96.out: test96.in
-  test97.out: test97.in
-  test98.out: test98.in
-+ test99.out: test99.in
-*** ../vim-7.4.027/src/testdir/Make_dos.mak	2013-07-09 13:40:30.000000000 +0200
---- src/testdir/Make_dos.mak	2013-09-19 16:51:56.000000000 +0200
-***************
-*** 32,38 ****
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 32,38 ----
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.027/src/testdir/Make_ming.mak	2013-07-09 13:40:38.000000000 +0200
---- src/testdir/Make_ming.mak	2013-09-19 16:52:01.000000000 +0200
-***************
-*** 52,58 ****
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 52,58 ----
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.027/src/testdir/Make_os2.mak	2013-07-09 13:40:43.000000000 +0200
---- src/testdir/Make_os2.mak	2013-09-19 16:52:07.000000000 +0200
-***************
-*** 34,40 ****
-  		test76.out test77.out test78.out test79.out test80.out \
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out
-  
-  .SUFFIXES: .in .out
-  
---- 34,40 ----
-  		test76.out test77.out test78.out test79.out test80.out \
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.027/src/testdir/Make_vms.mms	2013-07-09 13:40:47.000000000 +0200
---- src/testdir/Make_vms.mms	2013-09-19 16:52:13.000000000 +0200
-***************
-*** 4,10 ****
-  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
-  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
-  #
-! # Last change:  2013 Jul 09
-  #
-  # 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:  2013 Sep 19
-  #
-  # 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.
-***************
-*** 78,84 ****
-  	 test77.out test78.out test79.out test80.out test81.out \
-  	 test82.out test83.out test84.out test88.out test89.out \
-  	 test90.out test91.out test92.out test93.out test94.out \
-! 	 test95.out test96.out test97.out test98.out
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
---- 78,84 ----
-  	 test77.out test78.out test79.out test80.out test81.out \
-  	 test82.out test83.out test84.out test88.out test89.out \
-  	 test90.out test91.out test92.out test93.out test94.out \
-! 	 test95.out test96.out test97.out test98.out test99.out
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.4.027/src/testdir/Makefile	2013-08-10 14:20:20.000000000 +0200
---- src/testdir/Makefile	2013-09-19 16:52:22.000000000 +0200
-***************
-*** 29,35 ****
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test97.out test98.out
-  
-  SCRIPTS_GUI = test16.out
-  
---- 29,36 ----
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.027/src/version.c	2013-09-08 20:00:45.000000000 +0200
---- src/version.c	2013-09-19 13:54:35.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     28,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.029 b/7.4.029
deleted file mode 100644
index b87e3a3..0000000
--- a/7.4.029
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.029
-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.029
-Problem:    An error in a pattern is reported twice.
-Solution:   Remove the retry with the backtracking engine, it won't work.
-Files:	    src/regexp.c
-
-
-*** ../vim-7.4.028/src/regexp.c	2013-08-25 17:01:36.000000000 +0200
---- src/regexp.c	2013-09-19 17:03:31.000000000 +0200
-***************
-*** 8016,8027 ****
-  	}
-  #endif
-  	/*
-! 	 * If NFA engine failed, then revert to the backtracking engine.
-! 	 * Except when there was a syntax error, which was properly handled by
-! 	 * NFA engine.
-! 	 */
-  	if (regexp_engine == AUTOMATIC_ENGINE)
-  	    prog = bt_regengine.regcomp(expr, re_flags);
-      }
-  
-      return prog;
---- 8016,8026 ----
-  	}
-  #endif
-  	/*
-! 	 * If the NFA engine failed, the backtracking engine won't work either.
-! 	 *
-  	if (regexp_engine == AUTOMATIC_ENGINE)
-  	    prog = bt_regengine.regcomp(expr, re_flags);
-+ 	 */
-      }
-  
-      return prog;
-*** ../vim-7.4.028/src/version.c	2013-09-19 17:00:14.000000000 +0200
---- src/version.c	2013-09-19 17:01:13.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     29,
-  /**/
-
--- 
-The term "free software" is defined by Richard M. Stallman as
-being software that isn't necessarily for free.  Confusing?
-Let's call it "Stallman software" then!
-				-- 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    ///
diff --git a/7.4.030 b/7.4.030
deleted file mode 100644
index d685df6..0000000
--- a/7.4.030
+++ /dev/null
@@ -1,109 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.030
-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.030
-Problem:    The -mno-cygwin argument is no longer supported by Cygwin.
-Solution:   Remove the arguments. (Steve Hall)
-Files:	    src/GvimExt/Make_cyg.mak, src/Make_cyg.mak, src/xxd/Make_cyg.mak
-
-
-*** ../vim-7.4.029/src/GvimExt/Make_cyg.mak	2011-09-30 16:45:49.000000000 +0200
---- src/GvimExt/Make_cyg.mak	2013-09-19 20:46:46.000000000 +0200
-***************
-*** 31,42 ****
-  ifeq ($(CROSS),yes)
-  DEL = rm
-  ifeq ($(MINGWOLD),yes)
-! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
-  else
-! CXXFLAGS := -O2 -mno-cygwin
-  endif
-  else
-! CXXFLAGS := -O2 -mno-cygwin
-  ifneq (sh.exe, $(SHELL))
-  DEL = rm
-  else
---- 31,42 ----
-  ifeq ($(CROSS),yes)
-  DEL = rm
-  ifeq ($(MINGWOLD),yes)
-! CXXFLAGS := -O2 -fvtable-thunks
-  else
-! CXXFLAGS := -O2
-  endif
-  else
-! CXXFLAGS := -O2
-  ifneq (sh.exe, $(SHELL))
-  DEL = rm
-  else
-*** ../vim-7.4.029/src/Make_cyg.mak	2013-07-06 13:32:11.000000000 +0200
---- src/Make_cyg.mak	2013-09-19 20:46:55.000000000 +0200
-***************
-*** 1,6 ****
-  #
-  # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp.  Last Change: 2013 Apr 22
-  #
-  # Also read INSTALLpc.txt!
-  #
---- 1,6 ----
-  #
-  # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp.  Last Change: 2013 Sep 19
-  #
-  # Also read INSTALLpc.txt!
-  #
-***************
-*** 439,446 ****
-  ##############################
-  ifeq (yes, $(USEDLL))
-  DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
-- else
-- INCLUDES += -mno-cygwin
-  endif
-  
-  ##############################
---- 439,444 ----
-*** ../vim-7.4.029/src/xxd/Make_cyg.mak	2010-05-15 13:04:06.000000000 +0200
---- src/xxd/Make_cyg.mak	2013-09-19 20:47:05.000000000 +0200
-***************
-*** 8,14 ****
-  DEFINES =
-  LIBS    = -lc
-  else
-! DEFINES = -mno-cygwin
-  LIBS    =
-  endif
-  
---- 8,14 ----
-  DEFINES =
-  LIBS    = -lc
-  else
-! DEFINES =
-  LIBS    =
-  endif
-  
-*** ../vim-7.4.029/src/version.c	2013-09-19 17:03:57.000000000 +0200
---- src/version.c	2013-09-19 20:46:32.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     30,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-237. You tattoo your email address on your forehead.
-
- /// 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    ///
diff --git a/7.4.031 b/7.4.031
deleted file mode 100644
index f4e49d8..0000000
--- a/7.4.031
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.031
-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.031
-Problem:    ":diffoff!" resets options even when 'diff' is not set. (Charles
-	    Cooper)
-Solution:   Only resets related options in a window where 'diff' is set.
-Files:	    src/diff.c
-
-
-*** ../vim-7.4.030/src/diff.c	2013-07-17 13:43:15.000000000 +0200
---- src/diff.c	2013-09-20 19:58:47.000000000 +0200
-***************
-*** 1203,1209 ****
-  
-      for (wp = firstwin; wp != NULL; wp = wp->w_next)
-      {
-! 	if (wp == curwin || (eap->forceit && wp->w_p_diff))
-  	{
-  	    /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
-  	     * were saved in diff_win_options() restore them. */
---- 1203,1209 ----
-  
-      for (wp = firstwin; wp != NULL; wp = wp->w_next)
-      {
-! 	if (eap->forceit ? wp->w_p_diff : wp == curwin)
-  	{
-  	    /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
-  	     * were saved in diff_win_options() restore them. */
-*** ../vim-7.4.030/src/version.c	2013-09-19 20:48:59.000000000 +0200
---- src/version.c	2013-09-20 19:59:45.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     31,
-  /**/
-
--- 
-"Marriage is a wonderful institution...
-but who wants to live in an institution?"
- - Groucho Marx
-
- /// 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    ///
diff --git a/7.4.032 b/7.4.032
deleted file mode 100644
index 9e25dc4..0000000
--- a/7.4.032
+++ /dev/null
@@ -1,82 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.032
-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.032
-Problem:    NFA engine does not match the NUL character. (Jonathon Merz)
-Solution:   Ues 0x0a instead of NUL. (Christian Brabandt)
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.031/src/regexp_nfa.c	2013-09-19 17:00:14.000000000 +0200
---- src/regexp_nfa.c	2013-09-22 13:53:46.000000000 +0200
-***************
-*** 1383,1390 ****
-  			    EMSG2_RET_FAIL(
-  			       _("E678: Invalid character after %s%%[dxouU]"),
-  				    reg_magic == MAGIC_ALL);
-  			/* TODO: what if a composing character follows? */
-! 			EMIT(nr);
-  		    }
-  		    break;
-  
---- 1383,1391 ----
-  			    EMSG2_RET_FAIL(
-  			       _("E678: Invalid character after %s%%[dxouU]"),
-  				    reg_magic == MAGIC_ALL);
-+ 			/* A NUL is stored in the text as NL */
-  			/* TODO: what if a composing character follows? */
-! 			EMIT(nr == 0 ? 0x0a : nr);
-  		    }
-  		    break;
-  
-*** ../vim-7.4.031/src/testdir/test64.in	2013-09-05 21:15:38.000000000 +0200
---- src/testdir/test64.in	2013-09-22 13:51:53.000000000 +0200
-***************
-*** 373,378 ****
---- 373,379 ----
-  :call add(tl, [2, '\%x20', 'yes no', ' '])
-  :call add(tl, [2, '\%u0020', 'yes no', ' '])
-  :call add(tl, [2, '\%U00000020', 'yes no', ' '])
-+ :call add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
-  :"
-  :""""" \%[abc]
-  :call add(tl, [2, 'foo\%[bar]', 'fobar'])
-*** ../vim-7.4.031/src/testdir/test64.ok	2013-09-05 21:15:38.000000000 +0200
---- src/testdir/test64.ok	2013-09-22 13:52:41.000000000 +0200
-***************
-*** 863,868 ****
---- 863,871 ----
-  OK 0 - \%U00000020
-  OK 1 - \%U00000020
-  OK 2 - \%U00000020
-+ OK 0 - \%d0
-+ OK 1 - \%d0
-+ OK 2 - \%d0
-  OK 0 - foo\%[bar]
-  OK 1 - foo\%[bar]
-  OK 2 - foo\%[bar]
-*** ../vim-7.4.031/src/version.c	2013-09-20 20:13:48.000000000 +0200
---- src/version.c	2013-09-22 13:56:45.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     32,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-247. You use www.switchboard.com instead of dialing 411 and 555-12-12
-     for directory assistance.
-
- /// 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    ///
diff --git a/7.4.033 b/7.4.033
deleted file mode 100644
index 7eba8a0..0000000
--- a/7.4.033
+++ /dev/null
@@ -1,116 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.033
-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.033
-Problem:    When the terminal has only 20 lines test 92 and 93 overwrite the
-	    input file.
-Solution:   Explicitly write test.out. Check that the terminal is large enough
-	    to run the tests.  (Hirohito Higashi)
-Files:	    src/testdir/test92.in, src/testdir/test93.in,
-	    src/testdir/test1.in, src/testdir/Makefile
-
-
-*** ../vim-7.4.032/src/testdir/test92.in	2013-04-18 23:33:45.000000000 +0200
---- src/testdir/test92.in	2013-09-22 14:45:06.000000000 +0200
-***************
-*** 33,39 ****
-  :mksession! test.out
-  :new test.out
-  :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
-! :w
-  :qa!
-  ENDTEST
-  
---- 33,39 ----
-  :mksession! test.out
-  :new test.out
-  :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
-! :w! test.out
-  :qa!
-  ENDTEST
-  
-*** ../vim-7.4.032/src/testdir/test93.in	2013-02-26 17:13:01.000000000 +0100
---- src/testdir/test93.in	2013-09-22 14:45:17.000000000 +0200
-***************
-*** 33,39 ****
-  :mksession! test.out
-  :new test.out
-  :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
-! :w
-  :qa!
-  ENDTEST
-  
---- 33,39 ----
-  :mksession! test.out
-  :new test.out
-  :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
-! :w! test.out
-  :qa!
-  ENDTEST
-  
-*** ../vim-7.4.032/src/testdir/test1.in	2012-04-05 16:37:37.000000000 +0200
---- src/testdir/test1.in	2013-09-22 14:52:43.000000000 +0200
-***************
-*** 18,23 ****
---- 18,27 ----
-  Similar logic is applied to the +lua feature, using lua.vim.
-  
-  STARTTEST
-+ :" If columns or lines are too small, create wrongtermsize.
-+ :" (Some tests will fail. When columns and/or lines are small)
-+ :if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
-+ :"
-  :" Write a single line to test.out to check if testing works at all.
-  :%d
-  athis is a test:w! test.out
-*** ../vim-7.4.032/src/testdir/Makefile	2013-09-19 17:00:14.000000000 +0200
---- src/testdir/Makefile	2013-09-22 14:54:39.000000000 +0200
-***************
-*** 58,66 ****
-  	-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
-  
-  test1.out: test1.in
-! 	-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START)
-  	$(RUN_VIM) $*.in
-! 	@/bin/sh -c "if diff test.out $*.ok; \
-  		then mv -f test.out $*.out; \
-  		else echo; \
-  		echo test1 FAILED - Something basic is wrong; \
---- 58,70 ----
-  	-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
-  
-  test1.out: test1.in
-! 	-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
-  	$(RUN_VIM) $*.in
-! 	@/bin/sh -c "if test -e wrongtermsize; \
-! 		then echo; \
-! 		echo test1 FAILED - terminal size must be 80x24 or larger; \
-! 		echo; exit 1; \
-! 		elif diff test.out $*.ok; \
-  		then mv -f test.out $*.out; \
-  		else echo; \
-  		echo test1 FAILED - Something basic is wrong; \
-*** ../vim-7.4.032/src/version.c	2013-09-22 13:57:19.000000000 +0200
---- src/version.c	2013-09-22 15:02:04.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     33,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-248. You sign your letters with your e-mail address instead of your name.
-
- /// 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    ///
diff --git a/7.4.034 b/7.4.034
deleted file mode 100644
index f111e11..0000000
--- a/7.4.034
+++ /dev/null
@@ -1,180 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.034
-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.034
-Problem:    Using "p" in Visual block mode only changes the first line.
-Solution:   Repeat the put in all text in the block. (Christian Brabandt)
-Files:	    runtime/doc/change.txt, src/ops.c, src/normal.c,
-	    src/testdir/test20.in, src/testdir/test20.ok
-
-
-*** ../vim-7.4.033/runtime/doc/change.txt	2013-08-10 13:24:52.000000000 +0200
---- runtime/doc/change.txt	2013-09-22 15:12:20.000000000 +0200
-***************
-*** 1069,1074 ****
---- 1069,1079 ----
-  replace and use "0p .  You can repeat this as many times as you like, the
-  unnamed register will be changed each time.
-  
-+ When you use a blockwise Visual mode command and yank only a single line into
-+ a register, a paste on a visual selected area will paste that single line on
-+ each of the selected lines (thus replacing the blockwise selected region by a
-+ block of the pasted line).
-+ 
-  							*blockwise-register*
-  If you use a blockwise Visual mode command to get the text into the register,
-  the block of text will be inserted before ("P") or after ("p") the cursor
-*** ../vim-7.4.033/src/ops.c	2013-08-09 19:34:32.000000000 +0200
---- src/ops.c	2013-09-22 15:18:03.000000000 +0200
-***************
-*** 3776,3800 ****
-  	 */
-  	if (y_type == MCHAR && y_size == 1)
-  	{
-! 	    totlen = count * yanklen;
-! 	    if (totlen)
-! 	    {
-! 		oldp = ml_get(lnum);
-! 		newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
-! 		if (newp == NULL)
-! 		    goto end;		/* alloc() will give error message */
-! 		mch_memmove(newp, oldp, (size_t)col);
-! 		ptr = newp + col;
-! 		for (i = 0; i < count; ++i)
-  		{
-! 		    mch_memmove(ptr, y_array[0], (size_t)yanklen);
-! 		    ptr += yanklen;
-  		}
-! 		STRMOVE(ptr, oldp + col);
-! 		ml_replace(lnum, newp, FALSE);
-! 		/* Put cursor on last putted char. */
-! 		curwin->w_cursor.col += (colnr_T)(totlen - 1);
-! 	    }
-  	    curbuf->b_op_end = curwin->w_cursor;
-  	    /* For "CTRL-O p" in Insert mode, put cursor after last char */
-  	    if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
---- 3776,3817 ----
-  	 */
-  	if (y_type == MCHAR && y_size == 1)
-  	{
-! 	    do {
-! 		totlen = count * yanklen;
-! 		if (totlen > 0)
-  		{
-! 		    oldp = ml_get(lnum);
-! 		    newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
-! 		    if (newp == NULL)
-! 			goto end;	/* alloc() gave an error message */
-! 		    mch_memmove(newp, oldp, (size_t)col);
-! 		    ptr = newp + col;
-! 		    for (i = 0; i < count; ++i)
-! 		    {
-! 			mch_memmove(ptr, y_array[0], (size_t)yanklen);
-! 			ptr += yanklen;
-! 		    }
-! 		    STRMOVE(ptr, oldp + col);
-! 		    ml_replace(lnum, newp, FALSE);
-! 		    /* Place cursor on last putted char. */
-! 		    if (lnum == curwin->w_cursor.lnum)
-! 			curwin->w_cursor.col += (colnr_T)(totlen - 1);
-  		}
-! #ifdef FEAT_VISUAL
-! 		if (VIsual_active)
-! 		    lnum++;
-! #endif
-! 	    } while (
-! #ifdef FEAT_VISUAL
-! 		    VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
-! #else
-! 		    FALSE /* stop after 1 paste */
-! #endif
-! 		    );
-! #ifdef FEAT_VISUAL
-! 	    VIsual_active = FALSE;
-! #endif
-! 
-  	    curbuf->b_op_end = curwin->w_cursor;
-  	    /* For "CTRL-O p" in Insert mode, put cursor after last char */
-  	    if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
-*** ../vim-7.4.033/src/normal.c	2013-07-14 13:24:37.000000000 +0200
---- src/normal.c	2013-09-22 15:15:18.000000000 +0200
-***************
-*** 9518,9523 ****
---- 9518,9525 ----
-  		/* cursor is at the end of the line or end of file, put
-  		 * forward. */
-  		dir = FORWARD;
-+ 	    /* May have been reset in do_put(). */
-+ 	    VIsual_active = TRUE;
-  	}
-  #endif
-  	do_put(cap->oap->regname, dir, cap->count1, flags);
-*** ../vim-7.4.033/src/testdir/test20.in	2010-05-15 13:04:10.000000000 +0200
---- src/testdir/test20.in	2013-09-22 15:11:37.000000000 +0200
-***************
-*** 9,19 ****
-  @auY:quit!
-  GP
-  /start here$
-! jjlld
-! :/here$/,$-1w! test.out
-  :qa!
-  ENDTEST
-  
-  test text test tex start here
-  		some text
-  		test text
---- 9,25 ----
-  @auY:quit!
-  GP
-  /start here$
-! "by$jjlld
-! /456$
-! jj"bP
-! :/56$/,$-1w! test.out
-  :qa!
-  ENDTEST
-  
-+ 123456
-+ 234567
-+ 345678
-+ 
-  test text test tex start here
-  		some text
-  		test text
-*** ../vim-7.4.033/src/testdir/test20.ok	2010-05-15 13:04:10.000000000 +0200
---- src/testdir/test20.ok	2013-09-22 15:11:37.000000000 +0200
-***************
-*** 1,3 ****
---- 1,7 ----
-+ 123start here56
-+ 234start here67
-+ 345start here78
-+ 
-  test text test tex rt here
-  		somext
-  		tesext
-*** ../vim-7.4.033/src/version.c	2013-09-22 15:03:34.000000000 +0200
---- src/version.c	2013-09-22 15:14:04.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     34,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-249. You've forgotten what the outside looks like.
-
- /// 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    ///
diff --git a/7.4.035 b/7.4.035
deleted file mode 100644
index 9c4664a..0000000
--- a/7.4.035
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.035
-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.035
-Problem:    MS-Windows: The mouse pointer flickers when going from command
-	    line mode to Normal mode.
-Solution:   Check for WM_NCMOUSEMOVE. (Ken Takata)
-Files:	    src/gui_w48.c
-
-
-*** ../vim-7.4.034/src/gui_w48.c	2013-08-10 13:36:45.000000000 +0200
---- src/gui_w48.c	2013-09-22 15:41:56.000000000 +0200
-***************
-*** 1008,1014 ****
-      static LPARAM last_lParam = 0L;
-  
-      /* We sometimes get a mousemove when the mouse didn't move... */
-!     if (uMsg == WM_MOUSEMOVE)
-      {
-  	if (lParam == last_lParam)
-  	    return;
---- 1008,1014 ----
-      static LPARAM last_lParam = 0L;
-  
-      /* We sometimes get a mousemove when the mouse didn't move... */
-!     if (uMsg == WM_MOUSEMOVE || uMsg == WM_NCMOUSEMOVE)
-      {
-  	if (lParam == last_lParam)
-  	    return;
-*** ../vim-7.4.034/src/version.c	2013-09-22 15:23:38.000000000 +0200
---- src/version.c	2013-09-22 15:41:29.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     35,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-251. You've never seen your closest friends who usually live WAY too far away.
-
- /// 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    ///
diff --git a/7.4.036 b/7.4.036
deleted file mode 100644
index 49afc26..0000000
--- a/7.4.036
+++ /dev/null
@@ -1,273 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.036
-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.036
-Problem:    NFA engine does not capture group correctly when using \@>. (ZyX)
-Solution:   Copy submatches before doing the recursive match.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.035/src/regexp_nfa.c	2013-09-22 13:57:19.000000000 +0200
---- src/regexp_nfa.c	2013-09-25 16:35:54.000000000 +0200
-***************
-*** 36,42 ****
-  {
-      NFA_SPLIT = -1024,
-      NFA_MATCH,
-!     NFA_SKIP_CHAR,		    /* matches a 0-length char */
-  
-      NFA_START_COLL,		    /* [abc] start */
-      NFA_END_COLL,		    /* [abc] end */
---- 36,42 ----
-  {
-      NFA_SPLIT = -1024,
-      NFA_MATCH,
-!     NFA_EMPTY,			    /* matches 0-length */
-  
-      NFA_START_COLL,		    /* [abc] start */
-      NFA_END_COLL,		    /* [abc] end */
-***************
-*** 2005,2012 ****
-  	    {
-  		/* Ignore result of previous call to nfa_regatom() */
-  		post_ptr = post_start + my_post_start;
-! 		/* NFA_SKIP_CHAR has 0-length and works everywhere */
-! 		EMIT(NFA_SKIP_CHAR);
-  		return OK;
-  	    }
-  
---- 2005,2012 ----
-  	    {
-  		/* Ignore result of previous call to nfa_regatom() */
-  		post_ptr = post_start + my_post_start;
-! 		/* NFA_EMPTY is 0-length and works everywhere */
-! 		EMIT(NFA_EMPTY);
-  		return OK;
-  	    }
-  
-***************
-*** 2170,2185 ****
-  	old_post_pos = (int)(post_ptr - post_start);
-  	if (nfa_regconcat() == FAIL)
-  	    return FAIL;
-! 	/* if concat is empty, skip a input char. But do emit a node */
-  	if (old_post_pos == (int)(post_ptr - post_start))
-! 	    EMIT(NFA_SKIP_CHAR);
-  	EMIT(NFA_CONCAT);
-  	ch = peekchr();
-      }
-  
-!     /* Even if a branch is empty, emit one node for it */
-      if (old_post_pos == (int)(post_ptr - post_start))
-! 	EMIT(NFA_SKIP_CHAR);
-  
-      return OK;
-  }
---- 2170,2185 ----
-  	old_post_pos = (int)(post_ptr - post_start);
-  	if (nfa_regconcat() == FAIL)
-  	    return FAIL;
-! 	/* if concat is empty do emit a node */
-  	if (old_post_pos == (int)(post_ptr - post_start))
-! 	    EMIT(NFA_EMPTY);
-  	EMIT(NFA_CONCAT);
-  	ch = peekchr();
-      }
-  
-!     /* if a branch is empty, emit one node for it */
-      if (old_post_pos == (int)(post_ptr - post_start))
-! 	EMIT(NFA_EMPTY);
-  
-      return OK;
-  }
-***************
-*** 2423,2429 ****
-  	case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
-  	case NFA_QUEST:		STRCPY(code, "NFA_QUEST"); break;
-  	case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
-! 	case NFA_SKIP_CHAR:	STRCPY(code, "NFA_SKIP_CHAR"); break;
-  	case NFA_OR:		STRCPY(code, "NFA_OR"); break;
-  
-  	case NFA_START_COLL:	STRCPY(code, "NFA_START_COLL"); break;
---- 2423,2429 ----
-  	case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
-  	case NFA_QUEST:		STRCPY(code, "NFA_QUEST"); break;
-  	case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
-! 	case NFA_EMPTY:		STRCPY(code, "NFA_EMPTY"); break;
-  	case NFA_OR:		STRCPY(code, "NFA_OR"); break;
-  
-  	case NFA_START_COLL:	STRCPY(code, "NFA_START_COLL"); break;
-***************
-*** 3067,3073 ****
-  	    case NFA_ZSTART:
-  	    case NFA_ZEND:
-  	    case NFA_OPT_CHARS:
-! 	    case NFA_SKIP_CHAR:
-  	    case NFA_START_PATTERN:
-  	    case NFA_END_PATTERN:
-  	    case NFA_COMPOSING:
---- 3067,3073 ----
-  	    case NFA_ZSTART:
-  	    case NFA_ZEND:
-  	    case NFA_OPT_CHARS:
-! 	    case NFA_EMPTY:
-  	    case NFA_START_PATTERN:
-  	    case NFA_END_PATTERN:
-  	    case NFA_COMPOSING:
-***************
-*** 3265,3279 ****
-  	    PUSH(frag(e1.start, e2.out));
-  	    break;
-  
-! 	case NFA_SKIP_CHAR:
-! 	    /* Symbol of 0-length, Used in a repetition
-! 	     * with max/min count of 0 */
-  	    if (nfa_calc_size == TRUE)
-  	    {
-  		nstate++;
-  		break;
-  	    }
-! 	    s = alloc_state(NFA_SKIP_CHAR, NULL, NULL);
-  	    if (s == NULL)
-  		goto theend;
-  	    PUSH(frag(s, list1(&s->out)));
---- 3265,3278 ----
-  	    PUSH(frag(e1.start, e2.out));
-  	    break;
-  
-! 	case NFA_EMPTY:
-! 	    /* 0-length, used in a repetition with max/min count of 0 */
-  	    if (nfa_calc_size == TRUE)
-  	    {
-  		nstate++;
-  		break;
-  	    }
-! 	    s = alloc_state(NFA_EMPTY, NULL, NULL);
-  	    if (s == NULL)
-  		goto theend;
-  	    PUSH(frag(s, list1(&s->out)));
-***************
-*** 4209,4215 ****
-  	case NFA_MOPEN:
-  	case NFA_ZEND:
-  	case NFA_SPLIT:
-! 	case NFA_SKIP_CHAR:
-  	    /* These nodes are not added themselves but their "out" and/or
-  	     * "out1" may be added below.  */
-  	    break;
---- 4208,4214 ----
-  	case NFA_MOPEN:
-  	case NFA_ZEND:
-  	case NFA_SPLIT:
-! 	case NFA_EMPTY:
-  	    /* These nodes are not added themselves but their "out" and/or
-  	     * "out1" may be added below.  */
-  	    break;
-***************
-*** 4337,4343 ****
-  	    subs = addstate(l, state->out1, subs, pim, off);
-  	    break;
-  
-! 	case NFA_SKIP_CHAR:
-  	case NFA_NOPEN:
-  	case NFA_NCLOSE:
-  	    subs = addstate(l, state->out, subs, pim, off);
---- 4336,4342 ----
-  	    subs = addstate(l, state->out1, subs, pim, off);
-  	    break;
-  
-! 	case NFA_EMPTY:
-  	case NFA_NOPEN:
-  	case NFA_NCLOSE:
-  	    subs = addstate(l, state->out, subs, pim, off);
-***************
-*** 5604,5612 ****
-  		    {
-  			int in_use = m->norm.in_use;
-  
-! 			/* Copy submatch info for the recursive call, so that
-! 			 * \1 can be matched. */
-  			copy_sub_off(&m->norm, &t->subs.norm);
-  
-  			/*
-  			 * First try matching the invisible match, then what
---- 5603,5615 ----
-  		    {
-  			int in_use = m->norm.in_use;
-  
-! 			/* Copy submatch info for the recursive call, opposite
-! 			 * of what happens on success below. */
-  			copy_sub_off(&m->norm, &t->subs.norm);
-+ #ifdef FEAT_SYN_HL
-+ 			if (nfa_has_zsubexpr)
-+ 			    copy_sub_off(&m->synt, &t->subs.synt);
-+ #endif
-  
-  			/*
-  			 * First try matching the invisible match, then what
-***************
-*** 5713,5718 ****
---- 5716,5728 ----
-  #endif
-  		    break;
-  		}
-+ 		/* Copy submatch info to the recursive call, opposite of what
-+ 		 * happens afterwards. */
-+ 		copy_sub_off(&m->norm, &t->subs.norm);
-+ #ifdef FEAT_SYN_HL
-+ 		if (nfa_has_zsubexpr)
-+ 		    copy_sub_off(&m->synt, &t->subs.synt);
-+ #endif
-  
-  		/* First try matching the pattern. */
-  		result = recursive_regmatch(t->state, NULL, prog,
-*** ../vim-7.4.035/src/testdir/test64.in	2013-09-22 13:57:19.000000000 +0200
---- src/testdir/test64.in	2013-09-25 15:51:12.000000000 +0200
-***************
-*** 430,435 ****
---- 430,436 ----
-  :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
-  :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
-  :call add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
-+ :call add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
-  :" TODO: BT engine does not restore submatch after failure
-  :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
-  :"
-*** ../vim-7.4.035/src/testdir/test64.ok	2013-09-22 13:57:19.000000000 +0200
---- src/testdir/test64.ok	2013-09-25 16:39:31.000000000 +0200
-***************
-*** 992,997 ****
---- 992,1000 ----
-  OK 0 - ^\(.\{-}b\)\@>.
-  OK 1 - ^\(.\{-}b\)\@>.
-  OK 2 - ^\(.\{-}b\)\@>.
-+ OK 0 - \(.\{-}\)\(\)\@>$
-+ OK 1 - \(.\{-}\)\(\)\@>$
-+ OK 2 - \(.\{-}\)\(\)\@>$
-  OK 0 - \(a*\)\@>a\|a\+
-  OK 2 - \(a*\)\@>a\|a\+
-  OK 0 - \_[^8-9]\+
-*** ../vim-7.4.035/src/version.c	2013-09-22 15:43:34.000000000 +0200
---- src/version.c	2013-09-25 16:40:01.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     36,
-  /**/
-
--- 
-There is a fine line between courage and foolishness.
-Unfortunately, it's not a fence.
-
- /// 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    ///
diff --git a/7.4.037 b/7.4.037
deleted file mode 100644
index 3c6369b..0000000
--- a/7.4.037
+++ /dev/null
@@ -1,130 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.037
-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.037
-Problem:    Using "\ze" in a sub-pattern does not result in the end of the
-	    match to be set. (Axel Bender)
-Solution:   Copy the end of match position when a recursive match was
-	    successful.
-Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.036/src/regexp_nfa.c	2013-09-25 16:41:50.000000000 +0200
---- src/regexp_nfa.c	2013-09-25 18:09:59.000000000 +0200
-***************
-*** 3822,3827 ****
---- 3822,3828 ----
-  static void clear_sub __ARGS((regsub_T *sub));
-  static void copy_sub __ARGS((regsub_T *to, regsub_T *from));
-  static void copy_sub_off __ARGS((regsub_T *to, regsub_T *from));
-+ static void copy_ze_off __ARGS((regsub_T *to, regsub_T *from));
-  static int sub_equal __ARGS((regsub_T *sub1, regsub_T *sub2));
-  static int match_backref __ARGS((regsub_T *sub, int subidx, int *bytelen));
-  static int has_state_with_pos __ARGS((nfa_list_T *l, nfa_state_T *state, regsubs_T *subs, nfa_pim_T *pim));
-***************
-*** 3909,3914 ****
---- 3910,3938 ----
-  }
-  
-  /*
-+  * Like copy_sub() but only do the end of the main match if \ze is present.
-+  */
-+     static void
-+ copy_ze_off(to, from)
-+     regsub_T	*to;
-+     regsub_T	*from;
-+ {
-+     if (nfa_has_zend)
-+     {
-+ 	if (REG_MULTI)
-+ 	{
-+ 	    if (from->list.multi[0].end.lnum >= 0)
-+ 		to->list.multi[0].end = from->list.multi[0].end;
-+ 	}
-+ 	else
-+ 	{
-+ 	    if (from->list.line[0].end != NULL)
-+ 		to->list.line[0].end = from->list.line[0].end;
-+ 	}
-+     }
-+ }
-+ 
-+ /*
-   * Return TRUE if "sub1" and "sub2" have the same start positions.
-   */
-      static int
-***************
-*** 5308,5313 ****
---- 5332,5338 ----
-   * When "nfa_endp" is not NULL it is a required end-of-match position.
-   *
-   * Return TRUE if there is a match, FALSE otherwise.
-+  * When there is a match "submatch" contains the positions.
-   * Note: Caller must ensure that: start != NULL.
-   */
-      static int
-***************
-*** 5633,5638 ****
---- 5658,5666 ----
-  			    if (nfa_has_zsubexpr)
-  				copy_sub_off(&t->subs.synt, &m->synt);
-  #endif
-+ 			    /* If the pattern has \ze and it matched in the
-+ 			     * sub pattern, use it. */
-+ 			    copy_ze_off(&t->subs.norm, &m->norm);
-  
-  			    /* t->state->out1 is the corresponding
-  			     * END_INVISIBLE node; Add its out to the current
-*** ../vim-7.4.036/src/testdir/test64.in	2013-09-25 16:41:50.000000000 +0200
---- src/testdir/test64.in	2013-09-25 18:09:16.000000000 +0200
-***************
-*** 425,430 ****
---- 425,431 ----
-  :"
-  :" complicated look-behind match
-  :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
-+ :call add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
-  :"
-  :""""" \@>
-  :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
-*** ../vim-7.4.036/src/testdir/test64.ok	2013-09-25 16:41:50.000000000 +0200
---- src/testdir/test64.ok	2013-09-25 18:10:05.000000000 +0200
-***************
-*** 983,988 ****
---- 983,991 ----
-  OK 0 - \(r\@<=\|\w\@<!\)\/
-  OK 1 - \(r\@<=\|\w\@<!\)\/
-  OK 2 - \(r\@<=\|\w\@<!\)\/
-+ OK 0 - ^[a-z]\+\ze \&\(asdf\)\@<!
-+ OK 1 - ^[a-z]\+\ze \&\(asdf\)\@<!
-+ OK 2 - ^[a-z]\+\ze \&\(asdf\)\@<!
-  OK 0 - \(a*\)\@>a
-  OK 1 - \(a*\)\@>a
-  OK 2 - \(a*\)\@>a
-*** ../vim-7.4.036/src/version.c	2013-09-25 16:41:50.000000000 +0200
---- src/version.c	2013-09-25 18:14:36.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     37,
-  /**/
-
--- 
-MAN:     You don't frighten us, English pig-dog!  Go and boil your bottoms,
-         son of a silly person.  I blow my nose on you, so-called Arthur-king,
-         you and your silly English K...kaniggets.
-   He puts hands to his ears and blows a raspberry.
-                 "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    ///
diff --git a/7.4.038 b/7.4.038
deleted file mode 100644
index 0aae370..0000000
--- a/7.4.038
+++ /dev/null
@@ -1,116 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.038
-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.038
-Problem:    Using "zw" and "zg" when 'spell' is off give a confusing error
-	    message. (Gary Johnson)
-Solution:   Ignore the error when locating the word.  Explicitly mention what
-	    word was added. (Christian Brabandt)
-Files:	    src/normal.c, src/spell.c
-
-
-*** ../vim-7.4.037/src/normal.c	2013-09-22 15:23:38.000000000 +0200
---- src/normal.c	2013-09-25 18:54:08.000000000 +0200
-***************
-*** 5246,5253 ****
-  		    {
-  			pos_T	pos = curwin->w_cursor;
-  
-! 			/* Find bad word under the cursor. */
-  			len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
-  			if (len != 0 && curwin->w_cursor.col <= pos.col)
-  			    ptr = ml_get_pos(&curwin->w_cursor);
-  			curwin->w_cursor = pos;
---- 5246,5257 ----
-  		    {
-  			pos_T	pos = curwin->w_cursor;
-  
-! 			/* Find bad word under the cursor.  When 'spell' is
-! 			 * off this fails and find_ident_under_cursor() is
-! 			 * used below. */
-! 			emsg_off++;
-  			len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
-+ 			emsg_off--;
-  			if (len != 0 && curwin->w_cursor.col <= pos.col)
-  			    ptr = ml_get_pos(&curwin->w_cursor);
-  			curwin->w_cursor = pos;
-*** ../vim-7.4.037/src/spell.c	2013-07-17 17:28:28.000000000 +0200
---- src/spell.c	2013-09-25 18:48:55.000000000 +0200
-***************
-*** 9479,9485 ****
-  			if (undo)
-  			{
-  			    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
-! 			    smsg((char_u *)_("Word removed from %s"), NameBuff);
-  			}
-  		    }
-  		    fseek(fd, fpos_next, SEEK_SET);
---- 9479,9486 ----
-  			if (undo)
-  			{
-  			    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
-! 			    smsg((char_u *)_("Word '%.*s' removed from %s"),
-! 							 len, word, NameBuff);
-  			}
-  		    }
-  		    fseek(fd, fpos_next, SEEK_SET);
-***************
-*** 9525,9531 ****
-  	    fclose(fd);
-  
-  	    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
-! 	    smsg((char_u *)_("Word added to %s"), NameBuff);
-  	}
-      }
-  
---- 9526,9532 ----
-  	    fclose(fd);
-  
-  	    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
-! 	    smsg((char_u *)_("Word '%.*s' added to %s"), len, word, NameBuff);
-  	}
-      }
-  
-***************
-*** 10135,10141 ****
-  }
-  
-  /*
-!  * "z?": Find badly spelled word under or after the cursor.
-   * Give suggestions for the properly spelled word.
-   * In Visual mode use the highlighted word as the bad word.
-   * When "count" is non-zero use that suggestion.
---- 10136,10142 ----
-  }
-  
-  /*
-!  * "z=": Find badly spelled word under or after the cursor.
-   * Give suggestions for the properly spelled word.
-   * In Visual mode use the highlighted word as the bad word.
-   * When "count" is non-zero use that suggestion.
-*** ../vim-7.4.037/src/version.c	2013-09-25 18:16:34.000000000 +0200
---- src/version.c	2013-09-25 18:52:47.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     38,
-  /**/
-
--- 
-MAN:    Fetchez la vache!
-GUARD:  Quoi?
-MAN:    Fetchez la vache!
-                 "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    ///
diff --git a/7.4.039 b/7.4.039
deleted file mode 100644
index 5d653e3..0000000
--- a/7.4.039
+++ /dev/null
@@ -1,217 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.039
-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.039
-Problem:    MS-Windows: MSCV10 and earlier can't handle symlinks to a
-	    directory properly.
-Solution:   Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata)
-Files:	    src/os_mswin.c, src/os_win32.c, src/os_win32.h
-
-
-*** ../vim-7.4.038/src/os_mswin.c	2013-08-30 16:51:15.000000000 +0200
---- src/os_mswin.c	2013-09-25 19:09:53.000000000 +0200
-***************
-*** 498,503 ****
---- 498,595 ----
-      }
-  }
-  
-+     static int
-+ stat_symlink_aware(const char *name, struct stat *stp)
-+ {
-+ #if defined(_MSC_VER) && _MSC_VER < 1700
-+     /* Work around for VC10 or earlier. stat() can't handle symlinks properly.
-+      * VC9 or earlier: stat() doesn't support a symlink at all. It retrieves
-+      * status of a symlink itself.
-+      * VC10: stat() supports a symlink to a normal file, but it doesn't support
-+      * a symlink to a directory (always returns an error). */
-+     WIN32_FIND_DATA	findData;
-+     HANDLE		hFind, h;
-+     DWORD		attr = 0;
-+     BOOL		is_symlink = FALSE;
-+ 
-+     hFind = FindFirstFile(name, &findData);
-+     if (hFind != INVALID_HANDLE_VALUE)
-+     {
-+ 	attr = findData.dwFileAttributes;
-+ 	if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
-+ 		&& (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
-+ 	    is_symlink = TRUE;
-+ 	FindClose(hFind);
-+     }
-+     if (is_symlink)
-+     {
-+ 	h = CreateFile(name, FILE_READ_ATTRIBUTES,
-+ 		FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
-+ 		OPEN_EXISTING,
-+ 		(attr & FILE_ATTRIBUTE_DIRECTORY)
-+ 					    ? FILE_FLAG_BACKUP_SEMANTICS : 0,
-+ 		NULL);
-+ 	if (h != INVALID_HANDLE_VALUE)
-+ 	{
-+ 	    int	    fd, n;
-+ 
-+ 	    fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
-+ 	    n = _fstat(fd, (struct _stat*)stp);
-+ 	    _close(fd);
-+ 	    return n;
-+ 	}
-+     }
-+ #endif
-+     return stat(name, stp);
-+ }
-+ 
-+ #ifdef FEAT_MBYTE
-+     static int
-+ wstat_symlink_aware(const WCHAR *name, struct _stat *stp)
-+ {
-+ # if defined(_MSC_VER) && _MSC_VER < 1700
-+     /* Work around for VC10 or earlier. _wstat() can't handle symlinks properly.
-+      * VC9 or earlier: _wstat() doesn't support a symlink at all. It retrieves
-+      * status of a symlink itself.
-+      * VC10: _wstat() supports a symlink to a normal file, but it doesn't
-+      * support a symlink to a directory (always returns an error). */
-+     int			n;
-+     BOOL		is_symlink = FALSE;
-+     HANDLE		hFind, h;
-+     DWORD		attr = 0;
-+     WIN32_FIND_DATAW	findDataW;
-+ 
-+     hFind = FindFirstFileW(name, &findDataW);
-+     if (hFind != INVALID_HANDLE_VALUE)
-+     {
-+ 	attr = findDataW.dwFileAttributes;
-+ 	if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
-+ 		&& (findDataW.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
-+ 	    is_symlink = TRUE;
-+ 	FindClose(hFind);
-+     }
-+     if (is_symlink)
-+     {
-+ 	h = CreateFileW(name, FILE_READ_ATTRIBUTES,
-+ 		FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
-+ 		OPEN_EXISTING,
-+ 		(attr & FILE_ATTRIBUTE_DIRECTORY)
-+ 					    ? FILE_FLAG_BACKUP_SEMANTICS : 0,
-+ 		NULL);
-+ 	if (h != INVALID_HANDLE_VALUE)
-+ 	{
-+ 	    int	    fd;
-+ 
-+ 	    fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
-+ 	    n = _fstat(fd, stp);
-+ 	    _close(fd);
-+ 	    return n;
-+ 	}
-+     }
-+ # endif
-+     return _wstat(name, stp);
-+ }
-+ #endif
-  
-  /*
-   * stat() can't handle a trailing '/' or '\', remove it first.
-***************
-*** 534,540 ****
-  
-  	if (wp != NULL)
-  	{
-! 	    n = _wstat(wp, (struct _stat *)stp);
-  	    vim_free(wp);
-  	    if (n >= 0)
-  		return n;
---- 626,632 ----
-  
-  	if (wp != NULL)
-  	{
-! 	    n = wstat_symlink_aware(wp, (struct _stat *)stp);
-  	    vim_free(wp);
-  	    if (n >= 0)
-  		return n;
-***************
-*** 544,550 ****
-  	}
-      }
-  #endif
-!     return stat(buf, stp);
-  }
-  
-  #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
---- 636,642 ----
-  	}
-      }
-  #endif
-!     return stat_symlink_aware(buf, stp);
-  }
-  
-  #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
-*** ../vim-7.4.038/src/os_win32.c	2013-08-30 17:29:10.000000000 +0200
---- src/os_win32.c	2013-09-25 19:09:53.000000000 +0200
-***************
-*** 78,93 ****
-  # endif
-  #endif
-  
-- /*
--  * Reparse Point
--  */
-- #ifndef FILE_ATTRIBUTE_REPARSE_POINT
-- # define FILE_ATTRIBUTE_REPARSE_POINT	0x00000400
-- #endif
-- #ifndef IO_REPARSE_TAG_SYMLINK
-- # define IO_REPARSE_TAG_SYMLINK		0xA000000C
-- #endif
-- 
-  /* Record all output and all keyboard & mouse input */
-  /* #define MCH_WRITE_DUMP */
-  
---- 78,83 ----
-*** ../vim-7.4.038/src/os_win32.h	2013-07-21 17:53:13.000000000 +0200
---- src/os_win32.h	2013-09-25 19:09:53.000000000 +0200
-***************
-*** 130,135 ****
---- 130,148 ----
-  # define DFLT_MAXMEMTOT	(5*1024)    /* use up to 5 Mbyte for Vim */
-  #endif
-  
-+ /*
-+  * Reparse Point
-+  */
-+ #ifndef FILE_ATTRIBUTE_REPARSE_POINT
-+ # define FILE_ATTRIBUTE_REPARSE_POINT	0x00000400
-+ #endif
-+ #ifndef IO_REPARSE_TAG_MOUNT_POINT
-+ # define IO_REPARSE_TAG_MOUNT_POINT	0xA0000003
-+ #endif
-+ #ifndef IO_REPARSE_TAG_SYMLINK
-+ # define IO_REPARSE_TAG_SYMLINK		0xA000000C
-+ #endif
-+ 
-  #if defined(_MSC_VER) || defined(__BORLANDC__)
-      /* Support for __try / __except.  All versions of MSVC and Borland C are
-       * expected to have this.  Any other compilers that support it? */
-*** ../vim-7.4.038/src/version.c	2013-09-25 18:54:20.000000000 +0200
---- src/version.c	2013-09-25 19:08:55.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     39,
-  /**/
-
--- 
-   A cow comes flying over the battlements,  lowing aggressively.  The cow
-   lands on GALAHAD'S PAGE, squashing him completely.
-                 "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    ///
diff --git a/7.4.040 b/7.4.040
deleted file mode 100644
index a600223..0000000
--- a/7.4.040
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.040
-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.040
-Problem:    Valgrind error on exit when a script-local variable holds a
-	    reference to the scope of another script.
-Solution:   First clear all variables, then free the scopes. (ZyX)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.039/src/eval.c	2013-08-30 16:35:41.000000000 +0200
---- src/eval.c	2013-09-25 20:28:15.000000000 +0200
-***************
-*** 915,926 ****
-      /* autoloaded script names */
-      ga_clear_strings(&ga_loaded);
-  
-!     /* script-local variables */
-      for (i = 1; i <= ga_scripts.ga_len; ++i)
--     {
-  	vars_clear(&SCRIPT_VARS(i));
-  	vim_free(SCRIPT_SV(i));
--     }
-      ga_clear(&ga_scripts);
-  
-      /* unreferenced lists and dicts */
---- 915,927 ----
-      /* autoloaded script names */
-      ga_clear_strings(&ga_loaded);
-  
-!     /* Script-local variables. First clear all the variables and in a second
-!      * loop free the scriptvar_T, because a variable in one script might hold
-!      * a reference to the whole scope of another script. */
-      for (i = 1; i <= ga_scripts.ga_len; ++i)
-  	vars_clear(&SCRIPT_VARS(i));
-+     for (i = 1; i <= ga_scripts.ga_len; ++i)
-  	vim_free(SCRIPT_SV(i));
-      ga_clear(&ga_scripts);
-  
-      /* unreferenced lists and dicts */
-*** ../vim-7.4.039/src/version.c	2013-09-25 19:13:32.000000000 +0200
---- src/version.c	2013-09-25 20:30:06.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     40,
-  /**/
-
--- 
-    A KNIGHT rides into shot and hacks him to the ground.  He rides off.
-    We stay for a moment on the glade.  A MIDDLE-AGED LADY in a C. & A.
-    twin-set emerges from the trees and looks in horror at the body of her
-    HUSBAND.
-MRS HISTORIAN: FRANK!
-                 "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    ///
diff --git a/7.4.041 b/7.4.041
deleted file mode 100644
index 190604e..0000000
--- a/7.4.041
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.041
-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.041 (after 7.4.034)
-Problem:    Visual selection does not remain after being copied over. (Axel
-	    Bender)
-Solution:   Move when VIsual_active is reset. (Christian Brabandt)
-Files:	    src/ops.c
-
-
-*** ../vim-7.4.040/src/ops.c	2013-09-22 15:23:38.000000000 +0200
---- src/ops.c	2013-09-25 23:20:37.000000000 +0200
-***************
-*** 3808,3816 ****
-  		    FALSE /* stop after 1 paste */
-  #endif
-  		    );
-- #ifdef FEAT_VISUAL
-- 	    VIsual_active = FALSE;
-- #endif
-  
-  	    curbuf->b_op_end = curwin->w_cursor;
-  	    /* For "CTRL-O p" in Insert mode, put cursor after last char */
---- 3808,3813 ----
-***************
-*** 3972,3977 ****
---- 3969,3978 ----
-      if (regname == '=')
-  	vim_free(y_array);
-  
-+ #ifdef FEAT_VISUAL
-+     VIsual_active = FALSE;
-+ #endif
-+ 
-      /* If the cursor is past the end of the line put it at the end. */
-      adjust_cursor_eol();
-  }
-*** ../vim-7.4.040/src/version.c	2013-09-25 21:00:24.000000000 +0200
---- src/version.c	2013-09-25 23:20:46.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     41,
-  /**/
-
-
--- 
-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    ///
diff --git a/7.4.042 b/7.4.042
deleted file mode 100644
index 648a1bf..0000000
--- a/7.4.042
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.042
-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.042
-Problem:    When using ":setlocal" for 'spell' and 'spellang' then :spelldump
-	    doesn't work. (Dimitar Dimitrov)
-Solution:   Copy the option variables to the new window used to show the dump.
-	    (Christian Brabandt)
-Files:	    src/spell.c
-
-
-*** ../vim-7.4.041/src/spell.c	2013-09-25 18:54:20.000000000 +0200
---- src/spell.c	2013-09-29 13:15:51.000000000 +0200
-***************
-*** 15569,15579 ****
-  ex_spelldump(eap)
-      exarg_T *eap;
-  {
-      if (no_spell_checking(curwin))
-  	return;
-  
-!     /* Create a new empty buffer by splitting the window. */
-      do_cmdline_cmd((char_u *)"new");
-      if (!bufempty() || !buf_valid(curbuf))
-  	return;
-  
---- 15569,15589 ----
-  ex_spelldump(eap)
-      exarg_T *eap;
-  {
-+     char_u  *spl;
-+     long    dummy;
-+ 
-      if (no_spell_checking(curwin))
-  	return;
-+     get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL);
-  
-!     /* Create a new empty buffer in a new window. */
-      do_cmdline_cmd((char_u *)"new");
-+ 
-+     /* enable spelling locally in the new window */
-+     set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL);
-+     set_option_value((char_u*)"spl",  dummy,         spl, OPT_LOCAL);
-+     vim_free(spl);
-+ 
-      if (!bufempty() || !buf_valid(curbuf))
-  	return;
-  
-*** ../vim-7.4.041/src/version.c	2013-09-25 23:24:54.000000000 +0200
---- src/version.c	2013-09-29 13:15:17.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     42,
-  /**/
-
--- 
-Experience is what you get when you don't get what you want.
-
- /// 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    ///
diff --git a/7.4.043 b/7.4.043
deleted file mode 100644
index 0c3d852..0000000
--- a/7.4.043
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.043
-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.043
-Problem:    VMS can't handle long function names.
-Solution:   Shorten may_req_ambiguous_character_width. (Samuel Ferencik)
-Files:	    src/main.c, src/term.c, src/proto/term.pro
-
-
-*** ../vim-7.4.042/src/main.c	2013-08-22 14:14:23.000000000 +0200
---- src/main.c	2013-09-29 16:23:49.000000000 +0200
-***************
-*** 812,818 ****
-      starttermcap();	    /* start termcap if not done by wait_return() */
-      TIME_MSG("start termcap");
-  #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
-!     may_req_ambiguous_character_width();
-  #endif
-  
-  #ifdef FEAT_MOUSE
---- 812,818 ----
-      starttermcap();	    /* start termcap if not done by wait_return() */
-      TIME_MSG("start termcap");
-  #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
-!     may_req_ambiguous_char_width();
-  #endif
-  
-  #ifdef FEAT_MOUSE
-*** ../vim-7.4.042/src/term.c	2013-07-04 22:29:28.000000000 +0200
---- src/term.c	2013-09-29 16:27:12.000000000 +0200
-***************
-*** 3356,3362 ****
-   * it must be called immediately after entering termcap mode.
-   */
-      void
-! may_req_ambiguous_character_width()
-  {
-      if (u7_status == U7_GET
-  	    && cur_tmode == TMODE_RAW
---- 3356,3362 ----
-   * it must be called immediately after entering termcap mode.
-   */
-      void
-! may_req_ambiguous_char_width()
-  {
-      if (u7_status == U7_GET
-  	    && cur_tmode == TMODE_RAW
-*** ../vim-7.4.042/src/proto/term.pro	2013-08-10 13:37:28.000000000 +0200
---- src/proto/term.pro	2013-09-29 16:25:02.000000000 +0200
-***************
-*** 35,41 ****
-  void starttermcap __ARGS((void));
-  void stoptermcap __ARGS((void));
-  void may_req_termresponse __ARGS((void));
-! void may_req_ambiguous_character_width __ARGS((void));
-  int swapping_screen __ARGS((void));
-  void setmouse __ARGS((void));
-  int mouse_has __ARGS((int c));
---- 35,41 ----
-  void starttermcap __ARGS((void));
-  void stoptermcap __ARGS((void));
-  void may_req_termresponse __ARGS((void));
-! void may_req_ambiguous_char_width __ARGS((void));
-  int swapping_screen __ARGS((void));
-  void setmouse __ARGS((void));
-  int mouse_has __ARGS((int c));
-*** ../vim-7.4.042/src/version.c	2013-09-29 13:38:25.000000000 +0200
---- src/version.c	2013-09-29 16:25:16.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     43,
-  /**/
-
--- 
-Back up my hard drive?  I can't find the reverse switch!
-
- /// 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    ///
diff --git a/7.4.044 b/7.4.044
deleted file mode 100644
index 3d8832d..0000000
--- a/7.4.044
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.044
-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.044 (after 7.4.039)
-Problem:    Can't build with old MSVC. (Wang Shoulin)
-Solution:   Define OPEN_OH_ARGTYPE instead of using intptr_t directly.
-Files:	    src/os_mswin.c
-
-
-*** ../vim-7.4.043/src/os_mswin.c	2013-09-25 19:13:32.000000000 +0200
---- src/os_mswin.c	2013-09-26 20:37:38.000000000 +0200
-***************
-*** 498,503 ****
---- 498,509 ----
-      }
-  }
-  
-+ #if (_MSC_VER >= 1300)
-+ # define OPEN_OH_ARGTYPE intptr_t
-+ #else
-+ # define OPEN_OH_ARGTYPE long
-+ #endif
-+ 
-      static int
-  stat_symlink_aware(const char *name, struct stat *stp)
-  {
-***************
-*** 533,539 ****
-  	{
-  	    int	    fd, n;
-  
-! 	    fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
-  	    n = _fstat(fd, (struct _stat*)stp);
-  	    _close(fd);
-  	    return n;
---- 539,545 ----
-  	{
-  	    int	    fd, n;
-  
-! 	    fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
-  	    n = _fstat(fd, (struct _stat*)stp);
-  	    _close(fd);
-  	    return n;
-***************
-*** 580,586 ****
-  	{
-  	    int	    fd;
-  
-! 	    fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
-  	    n = _fstat(fd, stp);
-  	    _close(fd);
-  	    return n;
---- 586,592 ----
-  	{
-  	    int	    fd;
-  
-! 	    fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
-  	    n = _fstat(fd, stp);
-  	    _close(fd);
-  	    return n;
-*** ../vim-7.4.043/src/version.c	2013-09-29 16:27:42.000000000 +0200
---- src/version.c	2013-09-29 18:27:58.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     44,
-  /**/
-
--- 
-I'd like to meet the man who invented sex and see what he's working on now.
-
- /// 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    ///
diff --git a/7.4.045 b/7.4.045
deleted file mode 100644
index 0e82735..0000000
--- a/7.4.045
+++ /dev/null
@@ -1,111 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.045
-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.045
-Problem:    substitute() does not work properly when the pattern starts with
-	    "\ze".
-Solution:   Detect an empty match. (Christian Brabandt)
-Files:	    src/eval.c, src/testdir/test80.in, src/testdir/test80.ok
-
-
-*** ../vim-7.4.044/src/eval.c	2013-09-25 21:00:24.000000000 +0200
---- src/eval.c	2013-09-29 21:03:22.000000000 +0200
-***************
-*** 24301,24306 ****
---- 24301,24307 ----
-      garray_T	ga;
-      char_u	*ret;
-      char_u	*save_cpo;
-+     int		zero_width;
-  
-      /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
-      save_cpo = p_cpo;
-***************
-*** 24339,24358 ****
-  	    (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
-  					  + ga.ga_len + i, TRUE, TRUE, FALSE);
-  	    ga.ga_len += i + sublen - 1;
-! 	    /* avoid getting stuck on a match with an empty string */
-! 	    if (tail == regmatch.endp[0])
-  	    {
-! 		if (*tail == NUL)
-! 		    break;
-  		*((char_u *)ga.ga_data + ga.ga_len) = *tail++;
-  		++ga.ga_len;
-  	    }
-- 	    else
-- 	    {
-- 		tail = regmatch.endp[0];
-- 		if (*tail == NUL)
-- 		    break;
-- 	    }
-  	    if (!do_all)
-  		break;
-  	}
---- 24340,24356 ----
-  	    (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
-  					  + ga.ga_len + i, TRUE, TRUE, FALSE);
-  	    ga.ga_len += i + sublen - 1;
-! 	    zero_width = (tail == regmatch.endp[0]
-! 				    || regmatch.startp[0] == regmatch.endp[0]);
-! 	    tail = regmatch.endp[0];
-! 	    if (*tail == NUL)
-! 		break;
-! 	    if (zero_width)
-  	    {
-! 		/* avoid getting stuck on a match with an empty string */
-  		*((char_u *)ga.ga_data + ga.ga_len) = *tail++;
-  		++ga.ga_len;
-  	    }
-  	    if (!do_all)
-  		break;
-  	}
-*** ../vim-7.4.044/src/testdir/test80.in	2013-03-19 17:30:51.000000000 +0100
---- src/testdir/test80.in	2013-09-29 20:59:00.000000000 +0200
-***************
-*** 142,147 ****
---- 142,149 ----
-  :$put =\"\n\nTEST_7:\"
-  :$put =substitute('A
A', 'A.', '\=submatch(0)', '')
-  :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
-+ :$put =substitute('-bb', '\zeb', 'a', 'g')
-+ :$put =substitute('-bb', '\ze', 'c', 'g')
-  /^TEST_8
-  ENDTEST
-  
-*** ../vim-7.4.044/src/testdir/test80.ok	2013-03-19 17:31:45.000000000 +0100
---- src/testdir/test80.ok	2013-09-29 20:59:35.000000000 +0200
-***************
-*** 103,108 ****
---- 103,110 ----
-  A
A
-  B
-  B
-+ -abab
-+ c-cbcbc
-  
-  
-  TEST_8:
-*** ../vim-7.4.044/src/version.c	2013-09-29 19:05:17.000000000 +0200
---- src/version.c	2013-09-29 21:04:50.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     45,
-  /**/
-
--- 
-Just think of all the things we haven't thought of yet.
-
- /// 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    ///
diff --git a/7.4.046 b/7.4.046
deleted file mode 100644
index 5bb4265..0000000
--- a/7.4.046
+++ /dev/null
@@ -1,80 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.046
-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.046
-Problem:    Can't use Tcl 8.6.
-Solution:   Change how Tcl_FindExecutable is called. (Jan Nijtmans)
-Files:	    src/if_tcl.c
-
-
-*** ../vim-7.4.045/src/if_tcl.c	2013-08-02 19:31:15.000000000 +0200
---- src/if_tcl.c	2013-10-02 13:44:48.000000000 +0200
-***************
-*** 165,170 ****
---- 165,171 ----
-   */
-  static HANDLE hTclLib = NULL;
-  Tcl_Interp* (*dll_Tcl_CreateInterp)();
-+ void (*dll_Tcl_FindExecutable)(const void *);
-  
-  /*
-   * Table of name to function pointer of tcl.
-***************
-*** 175,180 ****
---- 176,182 ----
-      TCL_PROC* ptr;
-  } tcl_funcname_table[] = {
-      {"Tcl_CreateInterp", (TCL_PROC*)&dll_Tcl_CreateInterp},
-+     {"Tcl_FindExecutable", (TCL_PROC*)&dll_Tcl_FindExecutable},
-      {NULL, NULL},
-  };
-  
-***************
-*** 248,258 ****
-      {
-  	Tcl_Interp *interp;
-  
-  	if (interp = dll_Tcl_CreateInterp())
-  	{
-  	    if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
-  	    {
-- 		Tcl_FindExecutable(find_executable_arg);
-  		Tcl_DeleteInterp(interp);
-  		stubs_initialized = TRUE;
-  	    }
---- 250,261 ----
-      {
-  	Tcl_Interp *interp;
-  
-+ 	dll_Tcl_FindExecutable(find_executable_arg);
-+ 
-  	if (interp = dll_Tcl_CreateInterp())
-  	{
-  	    if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
-  	    {
-  		Tcl_DeleteInterp(interp);
-  		stubs_initialized = TRUE;
-  	    }
-*** ../vim-7.4.045/src/version.c	2013-09-29 21:11:00.000000000 +0200
---- src/version.c	2013-10-02 13:46:47.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     46,
-  /**/
-
--- 
-Not too long ago, a program was something you watched on TV...
-
- /// 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    ///
diff --git a/7.4.047 b/7.4.047
deleted file mode 100644
index 2871340..0000000
--- a/7.4.047
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.047
-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.047
-Problem:    When using input() in a function invoked by a mapping it doesn't
-	    work.
-Solution:   Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.046/src/eval.c	2013-09-29 21:11:00.000000000 +0200
---- src/eval.c	2013-10-02 16:40:52.000000000 +0200
-***************
-*** 13054,13062 ****
---- 13054,13071 ----
-  	}
-  
-  	if (defstr != NULL)
-+ 	{
-+ # ifdef FEAT_EX_EXTRA
-+ 	    int save_ex_normal_busy = ex_normal_busy;
-+ 	    ex_normal_busy = 0;
-+ # endif
-  	    rettv->vval.v_string =
-  		getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
-  				  xp_type, xp_arg);
-+ # ifdef FEAT_EX_EXTRA
-+ 	    ex_normal_busy = save_ex_normal_busy;
-+ # endif
-+ 	}
-  	if (inputdialog && rettv->vval.v_string == NULL
-  		&& argvars[1].v_type != VAR_UNKNOWN
-  		&& argvars[2].v_type != VAR_UNKNOWN)
-*** ../vim-7.4.046/src/version.c	2013-10-02 14:25:39.000000000 +0200
---- src/version.c	2013-10-02 16:45:45.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     47,
-  /**/
-
--- 
-Not too long ago, a keyboard was something to make music with...
-
- /// 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    ///
diff --git a/7.4.048 b/7.4.048
deleted file mode 100644
index 6e911a0..0000000
--- a/7.4.048
+++ /dev/null
@@ -1,96 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.048
-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.048
-Problem:    Recent clang version complains about -fno-strength-reduce.
-Solution:   Add a configure check for the clang version. (Kazunobu Kuriyama)
-Files:	    src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.047/src/configure.in	2013-08-04 20:00:50.000000000 +0200
---- src/configure.in	2013-10-02 17:56:25.000000000 +0200
-***************
-*** 62,67 ****
---- 62,90 ----
-    fi
-  fi
-  
-+ dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a
-+ dnl warning when that flag is passed to.  Accordingly, adjust CFLAGS based on
-+ dnl the version number of the clang in use.
-+ dnl Note that this does not work to get the version of clang 3.1 or 3.2.
-+ AC_MSG_CHECKING(for recent clang version)
-+ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed  -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
-+ if test x"$CLANG_VERSION_STRING" != x"" ; then
-+   CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
-+   CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
-+   CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'`
-+   CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
-+   AC_MSG_RESULT($CLANG_VERSION)
-+   dnl If you find the same issue with versions earlier than 500.2.75,
-+   dnl change the constant 500002075 below appropriately.  To get the
-+   dnl integer corresponding to a version number, refer to the
-+   dnl definition of CLANG_VERSION above.
-+   if test "$CLANG_VERSION" -ge 500002075 ; then
-+     CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
-+   fi
-+ else
-+   AC_MSG_RESULT(no)
-+ fi
-+ 
-  dnl If configure thinks we are cross compiling, there might be something
-  dnl wrong with the CC or CFLAGS settings, give a useful warning message
-  if test "$cross_compiling" = yes; then
-*** ../vim-7.4.047/src/auto/configure	2013-08-04 20:01:06.000000000 +0200
---- src/auto/configure	2013-10-02 17:56:52.000000000 +0200
-***************
-*** 3989,3994 ****
---- 3989,4012 ----
-    fi
-  fi
-  
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
-+ $as_echo_n "checking for recent clang version... " >&6; }
-+ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed  -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
-+ if test x"$CLANG_VERSION_STRING" != x"" ; then
-+   CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
-+   CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
-+   CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)/\1/p'`
-+   CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
-+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLANG_VERSION" >&5
-+ $as_echo "$CLANG_VERSION" >&6; }
-+           if test "$CLANG_VERSION" -ge 500002075 ; then
-+     CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
-+   fi
-+ else
-+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+ $as_echo "no" >&6; }
-+ fi
-+ 
-  if test "$cross_compiling" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5
-  $as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; }
-*** ../vim-7.4.047/src/version.c	2013-10-02 16:46:23.000000000 +0200
---- src/version.c	2013-10-02 17:19:31.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     48,
-  /**/
-
--- 
-I have to exercise early in the morning before my brain
-figures out what I'm doing.
-
- /// 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    ///
diff --git a/7.4.049 b/7.4.049
deleted file mode 100644
index c1a23b9..0000000
--- a/7.4.049
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.049
-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.049
-Problem:    In Ex mode, when line numbers are enabled the substitute prompt is
-	    wrong.
-Solution:   Adjust for the line number size. (Benoit Pierre)
-Files:	    src/ex_cmds.c
-
-
-*** ../vim-7.4.048/src/ex_cmds.c	2013-08-07 15:15:51.000000000 +0200
---- src/ex_cmds.c	2013-10-02 18:31:24.000000000 +0200
-***************
-*** 4740,4750 ****
-  			    char_u	*resp;
-  			    colnr_T	sc, ec;
-  
-! 			    print_line_no_prefix(lnum, FALSE, FALSE);
-  
-  			    getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
-  			    curwin->w_cursor.col = regmatch.endpos[0].col - 1;
-  			    getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
-  			    msg_start();
-  			    for (i = 0; i < (long)sc; ++i)
-  				msg_putchar(' ');
---- 4740,4756 ----
-  			    char_u	*resp;
-  			    colnr_T	sc, ec;
-  
-! 			    print_line_no_prefix(lnum, do_number, do_list);
-  
-  			    getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
-  			    curwin->w_cursor.col = regmatch.endpos[0].col - 1;
-  			    getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
-+ 			    if (do_number || curwin->w_p_nu)
-+ 			    {
-+ 				int numw = number_width(curwin) + 1;
-+ 				sc += numw;
-+ 				ec += numw;
-+ 			    }
-  			    msg_start();
-  			    for (i = 0; i < (long)sc; ++i)
-  				msg_putchar(' ');
-*** ../vim-7.4.048/src/version.c	2013-10-02 18:22:58.000000000 +0200
---- src/version.c	2013-10-02 18:33:22.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     49,
-  /**/
-
--- 
-What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
-meaning 'bloodsucking creatures'.
-
- /// 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    ///
diff --git a/7.4.050 b/7.4.050
deleted file mode 100644
index afe2b04..0000000
--- a/7.4.050
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.050
-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.050
-Problem:    "gn" selects too much for the pattern "\d" when there are two
-	    lines with a single digit. (Ryan Carney)
-Solution:   Adjust the logic of is_one_char(). (Christian Brabandt)
-Files:	    src/search.c, src/testdir/test53.in, src/testdir/test53.ok
-
-
-*** ../vim-7.4.049/src/search.c	2013-08-14 17:45:25.000000000 +0200
---- src/search.c	2013-10-02 21:49:40.000000000 +0200
-***************
-*** 4680,4687 ****
-  		&& regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
-  		&& regmatch.startpos[0].col == regmatch.endpos[0].col);
-  
-! 	if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col)
-! 	    result  = TRUE;
-      }
-  
-      called_emsg |= save_called_emsg;
---- 4680,4687 ----
-  		&& regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
-  		&& regmatch.startpos[0].col == regmatch.endpos[0].col);
-  
-! 	if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col)
-! 	    result = TRUE;
-      }
-  
-      called_emsg |= save_called_emsg;
-*** ../vim-7.4.049/src/testdir/test53.in	2013-06-30 14:31:56.000000000 +0200
---- src/testdir/test53.in	2013-10-02 21:47:10.000000000 +0200
-***************
-*** 46,51 ****
---- 46,54 ----
-  :set selection=exclusive
-  $cgNmongoose/i
-  cgnj
-+ :" Make sure there is no other match y uppercase.
-+ /x59
-+ gggnd
-  :/^start:/,/^end:/wq! test.out
-  ENDTEST
-  
-***************
-*** 75,78 ****
---- 78,84 ----
-  uniquepattern uniquepattern
-  my very excellent mother just served us nachos
-  for (i=0; i<=10; i++)
-+ Y
-+ text
-+ Y
-  end:
-*** ../vim-7.4.049/src/testdir/test53.ok	2013-06-30 14:31:56.000000000 +0200
---- src/testdir/test53.ok	2013-10-02 21:47:34.000000000 +0200
-***************
-*** 27,30 ****
---- 27,33 ----
-   uniquepattern
-  my very excellent mongoose just served us nachos
-  for (j=0; i<=10; i++)
-+ 
-+ text
-+ Y
-  end:
-*** ../vim-7.4.049/src/version.c	2013-10-02 18:43:00.000000000 +0200
---- src/version.c	2013-10-02 21:51:34.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     50,
-  /**/
-
--- 
-Why doesn't Tarzan have a beard?
-
- /// 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    ///
diff --git a/7.4.051 b/7.4.051
deleted file mode 100644
index ca5c3a0..0000000
--- a/7.4.051
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.051
-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.051
-Problem:    Syntax highlighting a Yaml file causes a crash. (Blake Preston)
-Solution:   Copy the pim structure before calling addstate() to avoid it
-	    becoming invalide when the state list is reallocated.
-Files:	    src/regexp_nfa.c
-
-
-*** ../vim-7.4.050/src/regexp_nfa.c	2013-09-25 18:16:34.000000000 +0200
---- src/regexp_nfa.c	2013-10-06 15:44:31.000000000 +0200
-***************
-*** 6458,6463 ****
---- 6458,6464 ----
-  	    if (add_state != NULL)
-  	    {
-  		nfa_pim_T *pim;
-+ 		nfa_pim_T pim_copy;
-  
-  		if (t->pim.result == NFA_PIM_UNUSED)
-  		    pim = NULL;
-***************
-*** 6531,6536 ****
---- 6532,6546 ----
-  		    pim = NULL;
-  		}
-  
-+ 		/* If "pim" points into l->t it will become invalid when
-+ 		 * adding the state causes the list to be reallocated.  Make a
-+ 		 * local copy to avoid that. */
-+ 		if (pim == &t->pim)
-+ 		{
-+ 		    copy_pim(&pim_copy, pim);
-+ 		    pim = &pim_copy;
-+ 		}
-+ 
-  		if (add_here)
-  		    addstate_here(thislist, add_state, &t->subs, pim, &listidx);
-  		else
-*** ../vim-7.4.050/src/version.c	2013-10-02 21:54:57.000000000 +0200
---- src/version.c	2013-10-06 15:21:16.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     51,
-  /**/
-
--- 
-GUARD #2:  It could be carried by an African swallow!
-GUARD #1:  Oh, yeah, an African swallow maybe, but not a European swallow,
-           that's my point.
-GUARD #2:  Oh, yeah, I agree with that...
-                                  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    ///
diff --git a/7.4.052 b/7.4.052
deleted file mode 100644
index 502d07b..0000000
--- a/7.4.052
+++ /dev/null
@@ -1,197 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.052
-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.052
-Problem:    With 'fo' set to "a2" inserting a space in the first column may
-	    cause the cursor to jump to the previous line.
-Solution:   Handle the case when there is no comment leader properly. (Tor
-	    Perkins)  Also fix that cursor is in the wrong place when spaces
-	    get replaced with a Tab.
-Files:	    src/misc1.c, src/ops.c, src/testdir/test68.in,
-	    src/testdir/test68.ok
-
-
-*** ../vim-7.4.051/src/misc1.c	2013-09-05 21:41:35.000000000 +0200
---- src/misc1.c	2013-10-06 17:46:18.000000000 +0200
-***************
-*** 303,312 ****
-  	ml_replace(curwin->w_cursor.lnum, newline, FALSE);
-  	if (flags & SIN_CHANGED)
-  	    changed_bytes(curwin->w_cursor.lnum, 0);
-! 	/* Correct saved cursor position if it's after the indent. */
-! 	if (saved_cursor.lnum == curwin->w_cursor.lnum
-! 				&& saved_cursor.col >= (colnr_T)(p - oldline))
-! 	    saved_cursor.col += ind_len - (colnr_T)(p - oldline);
-  	retval = TRUE;
-      }
-      else
---- 303,320 ----
-  	ml_replace(curwin->w_cursor.lnum, newline, FALSE);
-  	if (flags & SIN_CHANGED)
-  	    changed_bytes(curwin->w_cursor.lnum, 0);
-! 	/* Correct saved cursor position if it is in this line. */
-! 	if (saved_cursor.lnum == curwin->w_cursor.lnum)
-! 	{
-! 	    if (saved_cursor.col >= (colnr_T)(p - oldline))
-! 		/* cursor was after the indent, adjust for the number of
-! 		 * bytes added/removed */
-! 		saved_cursor.col += ind_len - (colnr_T)(p - oldline);
-! 	    else if (saved_cursor.col >= (colnr_T)(s - newline))
-! 		/* cursor was in the indent, and is now after it, put it back
-! 		 * at the start of the indent (replacing spaces with TAB) */
-! 		saved_cursor.col = (colnr_T)(s - newline);
-! 	}
-  	retval = TRUE;
-      }
-      else
-***************
-*** 1581,1589 ****
-  
-  #if defined(FEAT_COMMENTS) || defined(PROTO)
-  /*
-!  * get_leader_len() returns the length of the prefix of the given string
-!  * which introduces a comment.	If this string is not a comment then 0 is
-!  * returned.
-   * When "flags" is not NULL, it is set to point to the flags of the recognized
-   * comment leader.
-   * "backward" must be true for the "O" command.
---- 1589,1597 ----
-  
-  #if defined(FEAT_COMMENTS) || defined(PROTO)
-  /*
-!  * get_leader_len() returns the length in bytes of the prefix of the given
-!  * string which introduces a comment.  If this string is not a comment then
-!  * 0 is returned.
-   * When "flags" is not NULL, it is set to point to the flags of the recognized
-   * comment leader.
-   * "backward" must be true for the "O" command.
-*** ../vim-7.4.051/src/ops.c	2013-09-25 23:24:54.000000000 +0200
---- src/ops.c	2013-10-06 17:11:51.000000000 +0200
-***************
-*** 4989,4995 ****
-  
-  	    /*
-  	     * When still in same paragraph, join the lines together.  But
-! 	     * first delete the comment leader from the second line.
-  	     */
-  	    if (!is_end_par)
-  	    {
---- 4989,4995 ----
-  
-  	    /*
-  	     * When still in same paragraph, join the lines together.  But
-! 	     * first delete the leader from the second line.
-  	     */
-  	    if (!is_end_par)
-  	    {
-***************
-*** 4999,5009 ****
-  		if (line_count < 0 && u_save_cursor() == FAIL)
-  		    break;
-  #ifdef FEAT_COMMENTS
-- 		(void)del_bytes((long)next_leader_len, FALSE, FALSE);
-  		if (next_leader_len > 0)
-  		    mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L,
-  						      (long)-next_leader_len);
-  #endif
-  		curwin->w_cursor.lnum--;
-  		if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
-  		{
---- 4999,5023 ----
-  		if (line_count < 0 && u_save_cursor() == FAIL)
-  		    break;
-  #ifdef FEAT_COMMENTS
-  		if (next_leader_len > 0)
-+ 		{
-+ 		    (void)del_bytes((long)next_leader_len, FALSE, FALSE);
-  		    mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L,
-  						      (long)-next_leader_len);
-+ 		} else
-  #endif
-+ 		    if (second_indent > 0)  /* the "leader" for FO_Q_SECOND */
-+ 		{
-+ 		    char_u *p = ml_get_curline();
-+ 		    int indent = skipwhite(p) - p;
-+ 
-+ 		    if (indent > 0)
-+ 		    {
-+ 			(void)del_bytes(indent, FALSE, FALSE);
-+ 			mark_col_adjust(curwin->w_cursor.lnum,
-+ 					       (colnr_T)0, 0L, (long)-indent);
-+ 		      }
-+ 		}
-  		curwin->w_cursor.lnum--;
-  		if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
-  		{
-*** ../vim-7.4.051/src/testdir/test68.in	2012-07-25 15:57:06.000000000 +0200
---- src/testdir/test68.in	2013-10-06 16:20:33.000000000 +0200
-***************
-*** 62,67 ****
---- 62,81 ----
-  }
-  
-  STARTTEST
-+ /^{/+3
-+ :set tw=5 fo=t2a si
-+ i  A_
-+ ENDTEST
-+ 
-+ {
-+ 
-+   x a
-+   b
-+  c
-+ 
-+ }
-+ 
-+ STARTTEST
-  /^{/+1
-  :set tw=5 fo=qn comments=:#
-  gwap
-*** ../vim-7.4.051/src/testdir/test68.ok	2012-07-25 16:03:05.000000000 +0200
---- src/testdir/test68.ok	2013-10-06 16:20:33.000000000 +0200
-***************
-*** 43,48 ****
---- 43,57 ----
-  
-  
-  {
-+ 
-+   x a
-+     b_
-+     c
-+ 
-+ }
-+ 
-+ 
-+ {
-  # 1 a
-  #   b
-  }
-*** ../vim-7.4.051/src/version.c	2013-10-06 15:46:06.000000000 +0200
---- src/version.c	2013-10-06 17:25:27.000000000 +0200
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     52,
-  /**/
-
--- 
-ARTHUR:    Will you ask your master if he wants to join my court at Camelot?!
-GUARD #1:  But then of course African swallows are not migratory.
-GUARD #2:  Oh, yeah...
-GUARD #1:  So they couldn't bring a coconut back anyway...
-                                  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    ///
diff --git a/7.4.053 b/7.4.053
deleted file mode 100644
index 22724fc..0000000
--- a/7.4.053
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.053
-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.053
-Problem:    Test75 has a wrong header. (ZyX)
-Solution:   Fix the text and remove leading ".
-Files:      src/testdir/test75.in
-    
-
-*** ../vim-7.4.052/src/testdir/test75.in	2013-06-29 13:48:42.000000000 +0200
---- src/testdir/test75.in	2013-10-19 20:28:53.000000000 +0200
-***************
-*** 1,4 ****
-! " Tests for functions.
-  
-  STARTTEST
-  :so small.vim
---- 1,4 ----
-! Tests for maparg().
-  
-  STARTTEST
-  :so small.vim
-*** ../vim-7.4.052/src/version.c	2013-10-06 17:46:48.000000000 +0200
---- src/version.c	2013-11-02 04:18:07.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     53,
-  /**/
-
--- 
-Every exit is an entrance into something else.
-
- /// 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    ///
diff --git a/7.4.054 b/7.4.054
deleted file mode 100644
index 0fcffac..0000000
--- a/7.4.054
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.054
-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.054
-Problem:    Reading past end of the 'stl' string.
-Solution:   Don't increment pointer when already at the NUL. (Christian
-            Brabandt)
-Files:      src/buffer.c
-
-
-*** ../vim-7.4.053/src/buffer.c	2013-08-14 17:11:14.000000000 +0200
---- src/buffer.c	2013-11-02 04:34:26.000000000 +0100
-***************
-*** 4062,4068 ****
-  		item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
-  		curitem++;
-  	    }
-! 	    ++s;
-  	    continue;
-  	}
-  
---- 4062,4069 ----
-  		item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
-  		curitem++;
-  	    }
-! 	    if (*s != NUL)
-! 		++s;
-  	    continue;
-  	}
-  
-*** ../vim-7.4.053/src/version.c	2013-11-02 04:19:10.000000000 +0100
---- src/version.c	2013-11-02 04:31:50.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     54,
-  /**/
-
--- 
-Every person is responsible for the choices he makes.
-
- /// 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    ///
diff --git a/7.4.055 b/7.4.055
deleted file mode 100644
index b6adc04..0000000
--- a/7.4.055
+++ /dev/null
@@ -1,138 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.055
-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.055
-Problem:    Mac: Where availability macros are defined depends on the system.
-Solution:   Add a configure check. (Felix Bünemann) 
-Files:      src/config.h.in, src/configure.in, src/auto/configure,
-            src/os_mac.h
-
-*** ../vim-7.4.054/src/config.h.in	2013-02-26 14:18:19.000000000 +0100
---- src/config.h.in	2013-11-02 20:52:08.000000000 +0100
-***************
-*** 442,444 ****
---- 442,447 ----
-  
-  /* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/
-  #undef FEAT_CYGWIN_WIN32_CLIPBOARD
-+ 
-+ /* Define if we have AvailabilityMacros.h on Mac OS X */
-+ #undef HAVE_AVAILABILITYMACROS_H
-*** ../vim-7.4.054/src/configure.in	2013-10-02 18:22:58.000000000 +0200
---- src/configure.in	2013-11-02 20:58:58.000000000 +0100
-***************
-*** 206,211 ****
---- 206,215 ----
-      dnl TODO: use -arch i386 on Intel machines
-      CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
-+     dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
-+     dnl so we need to include it to have access to version macros.
-+     AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])])
-+ 
-      dnl If Carbon is found, assume we don't want X11
-      dnl unless it was specifically asked for (--with-x)
-      dnl or Motif, Athena or GTK GUI is used.
-*** ../vim-7.4.054/src/auto/configure	2013-10-02 18:22:58.000000000 +0200
---- src/auto/configure	2013-11-02 21:00:40.000000000 +0100
-***************
-*** 4223,4229 ****
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-          CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
-!                 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-  for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-  		  inttypes.h stdint.h unistd.h
-  do :
---- 4223,4229 ----
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-          CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
-!             # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-  for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-  		  inttypes.h stdint.h unistd.h
-  do :
-***************
-*** 4241,4247 ****
-  done
-  
-  
-! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
-  if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
-    CARBON=yes
-  fi
---- 4241,4256 ----
-  done
-  
-  
-! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
-! 
-! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h
-! 
-! fi
-! 
-! 
-! 
-!                 ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
-  if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
-    CARBON=yes
-  fi
-*** ../vim-7.4.054/src/os_mac.h	2013-05-06 04:06:04.000000000 +0200
---- src/os_mac.h	2013-11-02 20:59:46.000000000 +0100
-***************
-*** 16,21 ****
---- 16,26 ----
-  # define OPAQUE_TOOLBOX_STRUCTS 0
-  #endif
-  
-+ /* Include MAC_OS_X_VERSION_* macros */
-+ #ifdef HAVE_AVAILABILITYMACROS_H
-+ # include <AvailabilityMacros.h>
-+ #endif
-+ 
-  /*
-   * Macintosh machine-dependent things.
-   *
-***************
-*** 263,269 ****
-  #endif
-  
-  /* Some "prep work" definition to be able to compile the MacOS X
-!  * version with os_unix.x instead of os_mac.c. Based on the result
-   * of ./configure for console MacOS X.
-   */
-  
---- 268,274 ----
-  #endif
-  
-  /* Some "prep work" definition to be able to compile the MacOS X
-!  * version with os_unix.c instead of os_mac.c. Based on the result
-   * of ./configure for console MacOS X.
-   */
-  
-*** ../vim-7.4.054/src/version.c	2013-11-02 04:39:34.000000000 +0100
---- src/version.c	2013-11-02 21:01:10.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     55,
-  /**/
-
--- 
-You can be stopped by the police for biking over 65 miles per hour.
-You are not allowed to walk across a street on your hands.
-		[real standing laws in Connecticut, 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    ///
diff --git a/7.4.056 b/7.4.056
deleted file mode 100644
index e8c1a34..0000000
--- a/7.4.056
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.056
-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.056
-Problem:    Mac: Compilation problem with OS X 10.9 Mavericks.
-Solution:   Include AvailabilityMacros.h when available. (Kazunobu Kuriyama)
-Files:      src/os_unix.c
-
-
-*** ../vim-7.4.055/src/os_unix.c	2013-09-05 21:41:35.000000000 +0200
---- src/os_unix.c	2013-11-02 21:46:05.000000000 +0100
-***************
-*** 804,809 ****
---- 804,815 ----
-   * completely full.
-   */
-  
-+ #if defined(HAVE_AVAILABILITYMACROS_H) \
-+     && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
-+     && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090)
-+ # include <AvailabilityMacros.h>
-+ #endif
-+ 
-  #ifndef SIGSTKSZ
-  # define SIGSTKSZ 8000    /* just a guess of how much stack is needed... */
-  #endif
-*** ../vim-7.4.055/src/version.c	2013-11-02 21:04:32.000000000 +0100
---- src/version.c	2013-11-02 21:44:10.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     56,
-  /**/
-
--- 
-If an elephant is left tied to a parking meter, the parking fee has to be paid
-just as it would for a vehicle.
-		[real standing law in Florida, 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    ///
diff --git a/7.4.057 b/7.4.057
deleted file mode 100644
index aee16b6..0000000
--- a/7.4.057
+++ /dev/null
@@ -1,252 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.057
-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.057                                 
-Problem:    byteidx() does not work for composing characters.
-Solution:   Add byteidxcomp().
-Files:      src/eval.c, src/testdir/test69.in, src/testdir/test69.ok,
-            runtime/doc/eval.txt
-
-
-*** ../vim-7.4.056/src/eval.c	2013-10-02 16:46:23.000000000 +0200
---- src/eval.c	2013-11-02 22:30:08.000000000 +0100
-***************
-*** 474,480 ****
---- 474,482 ----
-  static void f_bufnr __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_byte2line __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void byteidx __ARGS((typval_T *argvars, typval_T *rettv, int comp));
-  static void f_byteidx __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void f_byteidxcomp __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_call __ARGS((typval_T *argvars, typval_T *rettv));
-  #ifdef FEAT_FLOAT
-  static void f_ceil __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 7861,7866 ****
---- 7863,7869 ----
-      {"bufwinnr",	1, 1, f_bufwinnr},
-      {"byte2line",	1, 1, f_byte2line},
-      {"byteidx",		2, 2, f_byteidx},
-+     {"byteidxcomp",	2, 2, f_byteidxcomp},
-      {"call",		2, 3, f_call},
-  #ifdef FEAT_FLOAT
-      {"ceil",		1, 1, f_ceil},
-***************
-*** 9177,9189 ****
-  #endif
-  }
-  
-- /*
--  * "byteidx()" function
--  */
-      static void
-! f_byteidx(argvars, rettv)
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-  #ifdef FEAT_MBYTE
-      char_u	*t;
---- 9180,9190 ----
-  #endif
-  }
-  
-      static void
-! byteidx(argvars, rettv, comp)
-      typval_T	*argvars;
-      typval_T	*rettv;
-+     int		comp;
-  {
-  #ifdef FEAT_MBYTE
-      char_u	*t;
-***************
-*** 9203,9209 ****
-      {
-  	if (*t == NUL)		/* EOL reached */
-  	    return;
-! 	t += (*mb_ptr2len)(t);
-      }
-      rettv->vval.v_number = (varnumber_T)(t - str);
-  #else
---- 9204,9213 ----
-      {
-  	if (*t == NUL)		/* EOL reached */
-  	    return;
-! 	if (enc_utf8 && comp)
-! 	    t += utf_ptr2len(t);
-! 	else
-! 	    t += (*mb_ptr2len)(t);
-      }
-      rettv->vval.v_number = (varnumber_T)(t - str);
-  #else
-***************
-*** 9212,9217 ****
---- 9216,9243 ----
-  #endif
-  }
-  
-+ /*
-+  * "byteidx()" function
-+  */
-+     static void
-+ f_byteidx(argvars, rettv)
-+     typval_T	*argvars;
-+     typval_T	*rettv;
-+ {
-+     byteidx(argvars, rettv, FALSE);
-+ }
-+ 
-+ /*
-+  * "byteidxcomp()" function
-+  */
-+     static void
-+ f_byteidxcomp(argvars, rettv)
-+     typval_T	*argvars;
-+     typval_T	*rettv;
-+ {
-+     byteidx(argvars, rettv, TRUE);
-+ }
-+ 
-      int
-  func_call(name, args, selfdict, rettv)
-      char_u	*name;
-*** ../vim-7.4.056/src/testdir/test69.in	2013-03-07 18:30:50.000000000 +0100
---- src/testdir/test69.in	2013-11-02 22:46:02.000000000 +0100
-***************
-*** 1,6 ****
---- 1,7 ----
-  Test for multi-byte text formatting.
-  Also test, that 'mps' with multibyte chars works.
-  And test "ra" on multi-byte characters.
-+ Also test byteidx() and byteidxcomp()
-  
-  STARTTEST
-  :so mbyte.vim
-***************
-*** 154,159 ****
---- 155,175 ----
-  aab
-  
-  STARTTEST
-+ :let a = '.é.' " one char of two bytes
-+ :let b = '.é.' " normal e with composing char
-+ /^byteidx
-+ :put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)])
-+ :put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)])
-+ /^byteidxcomp
-+ :put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)])
-+ :let b = '.é.'
-+ :put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
-+ ENDTEST
-+ 
-+ byteidx
-+ byteidxcomp
-+ 
-+ STARTTEST
-  :g/^STARTTEST/.,/^ENDTEST/d
-  :1;/^Results/,$wq! test.out
-  ENDTEST
-*** ../vim-7.4.056/src/testdir/test69.ok	2013-03-07 18:31:32.000000000 +0100
---- src/testdir/test69.ok	2013-11-02 22:43:25.000000000 +0100
-***************
-*** 149,151 ****
---- 149,159 ----
-  aaaa
-  aaa
-  
-+ 
-+ byteidx
-+ [0, 1, 3, 4, -1]
-+ [0, 1, 4, 5, -1]
-+ byteidxcomp
-+ [0, 1, 3, 4, -1]
-+ [0, 1, 2, 4, 5, -1]
-+ 
-*** ../vim-7.4.056/runtime/doc/eval.txt	2013-08-10 13:24:53.000000000 +0200
---- runtime/doc/eval.txt	2013-11-02 23:27:24.000000000 +0100
-***************
-*** 1712,1717 ****
---- 1713,1719 ----
-  bufwinnr( {expr})		Number	window number of buffer {expr}
-  byte2line( {byte})		Number	line number at byte count {byte}
-  byteidx( {expr}, {nr})		Number	byte index of {nr}'th char in {expr}
-+ byteidxcomp( {expr}, {nr})	Number	byte index of {nr}'th char in {expr}
-  call( {func}, {arglist} [, {dict}])
-  				any	call {func} with arguments {arglist}
-  ceil( {expr})			Float	round {expr} up
-***************
-*** 2260,2266 ****
-  		{expr}.  Use zero for the first character, it returns zero.
-  		This function is only useful when there are multibyte
-  		characters, otherwise the returned value is equal to {nr}.
-! 		Composing characters are counted as a separate character.
-  		Example : >
-  			echo matchstr(str, ".", byteidx(str, 3))
-  <		will display the fourth character.  Another way to do the
---- 2262,2271 ----
-  		{expr}.  Use zero for the first character, it returns zero.
-  		This function is only useful when there are multibyte
-  		characters, otherwise the returned value is equal to {nr}.
-! 		Composing characters are not counted separately, their byte
-! 		length is added to the preceding base character.  See
-! 		|byteidxcomp()| below for counting composing characters
-! 		separately.
-  		Example : >
-  			echo matchstr(str, ".", byteidx(str, 3))
-  <		will display the fourth character.  Another way to do the
-***************
-*** 2269,2275 ****
-  			echo strpart(s, 0, byteidx(s, 1))
-  <		If there are less than {nr} characters -1 is returned.
-  		If there are exactly {nr} characters the length of the string
-! 		is returned.
-  
-  call({func}, {arglist} [, {dict}])			*call()* *E699*
-  		Call function {func} with the items in |List| {arglist} as
---- 2274,2293 ----
-  			echo strpart(s, 0, byteidx(s, 1))
-  <		If there are less than {nr} characters -1 is returned.
-  		If there are exactly {nr} characters the length of the string
-! 		in bytes is returned.
-! 
-! byteidxcomp({expr}, {nr})					*byteidxcomp()*
-! 		Like byteidx(), except that a composing character is counted
-! 		as a separate character.  Example: >
-! 			let s = 'e' . nr2char(0x301)
-! 			echo byteidx(s, 1)
-! 			echo byteidxcomp(s, 1)
-! 			echo byteidxcomp(s, 2)
-! <		The first and third echo result in 3 ('e' plus composing
-! 		character is 3 bytes), the second echo results in 1 ('e' is
-! 		one byte).
-! 		Only works different from byteidx() when 'encoding' is set to
-! 		a Unicode encoding.
-  
-  call({func}, {arglist} [, {dict}])			*call()* *E699*
-  		Call function {func} with the items in |List| {arglist} as
-*** ../vim-7.4.056/src/version.c	2013-11-02 21:49:28.000000000 +0100
---- src/version.c	2013-11-02 22:45:13.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     57,
-  /**/
-
--- 
-Any sufficiently advanced technology is indistinguishable from magic.
-					Arthur C. Clarke
-Any sufficiently advanced bug is indistinguishable from a feature.
-                                        Rich Kulawiec
-
- /// 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    ///
diff --git a/7.4.058 b/7.4.058
deleted file mode 100644
index 0715c84..0000000
--- a/7.4.058
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.058
-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.058
-Problem:    Warnings on 64 bit Windows.
-Solution:   Add type casts. (Mike Williams)
-Files:      src/ops.c
-
-
-*** ../vim-7.4.057/src/ops.c	2013-10-06 17:46:48.000000000 +0200
---- src/ops.c	2013-11-02 23:56:15.000000000 +0100
-***************
-*** 5009,5022 ****
-  		    if (second_indent > 0)  /* the "leader" for FO_Q_SECOND */
-  		{
-  		    char_u *p = ml_get_curline();
-! 		    int indent = skipwhite(p) - p;
-  
-  		    if (indent > 0)
-  		    {
-  			(void)del_bytes(indent, FALSE, FALSE);
-  			mark_col_adjust(curwin->w_cursor.lnum,
-  					       (colnr_T)0, 0L, (long)-indent);
-! 		      }
-  		}
-  		curwin->w_cursor.lnum--;
-  		if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
---- 5009,5022 ----
-  		    if (second_indent > 0)  /* the "leader" for FO_Q_SECOND */
-  		{
-  		    char_u *p = ml_get_curline();
-! 		    int indent = (int)(skipwhite(p) - p);
-  
-  		    if (indent > 0)
-  		    {
-  			(void)del_bytes(indent, FALSE, FALSE);
-  			mark_col_adjust(curwin->w_cursor.lnum,
-  					       (colnr_T)0, 0L, (long)-indent);
-! 		    }
-  		}
-  		curwin->w_cursor.lnum--;
-  		if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
-*** ../vim-7.4.057/src/version.c	2013-11-02 23:29:17.000000000 +0100
---- src/version.c	2013-11-02 23:55:01.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     58,
-  /**/
-
--- 
-Citizens are not allowed to attend a movie house or theater nor ride in a
-public streetcar within at least four hours after eating garlic.
-		[real standing law in Indiana, 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    ///
diff --git a/7.4.059 b/7.4.059
deleted file mode 100644
index b00cbfe..0000000
--- a/7.4.059
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.059
-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.059
-Problem:    set_last_cursor() may encounter w_buffer being NULL.  (Matt
-            Mkaniaris)
-Solution:   Check for NULL.
-Files:      src/mark.c
-
-
-*** ../vim-7.4.058/src/mark.c	2013-08-02 17:22:10.000000000 +0200
---- src/mark.c	2013-11-03 00:18:35.000000000 +0100
-***************
-*** 1374,1380 ****
-  set_last_cursor(win)
-      win_T	*win;
-  {
-!     win->w_buffer->b_last_cursor = win->w_cursor;
-  }
-  
-  #if defined(EXITFREE) || defined(PROTO)
---- 1374,1381 ----
-  set_last_cursor(win)
-      win_T	*win;
-  {
-!     if (win->w_buffer != NULL)
-! 	win->w_buffer->b_last_cursor = win->w_cursor;
-  }
-  
-  #if defined(EXITFREE) || defined(PROTO)
-*** ../vim-7.4.058/src/version.c	2013-11-02 23:59:30.000000000 +0100
---- src/version.c	2013-11-03 00:17:55.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     59,
-  /**/
-
--- 
-How do you know when you have run out of invisible ink?
-
- /// 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    ///
diff --git a/7.4.060 b/7.4.060
deleted file mode 100644
index d6a7672..0000000
--- a/7.4.060
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.060
-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.060
-Problem:    Declaration has wrong return type for PyObject_SetAttrString().
-Solution:   Use int instead of PyObject. (Andreas Schwab)
-Files:      src/if_python.c, src/if_python3.c
-
-
-*** ../vim-7.4.059/src/if_python.c	2013-07-09 21:40:11.000000000 +0200
---- src/if_python.c	2013-11-03 00:24:57.000000000 +0100
-***************
-*** 359,365 ****
-  static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
-  static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *);
-  static int (*dll_PyObject_HasAttrString)(PyObject *, const char *);
-! static PyObject* (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
-  static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...);
-  static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...);
-  static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *);
---- 359,365 ----
-  static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
-  static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *);
-  static int (*dll_PyObject_HasAttrString)(PyObject *, const char *);
-! static int (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
-  static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...);
-  static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...);
-  static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *);
-*** ../vim-7.4.059/src/if_python3.c	2013-07-09 21:53:21.000000000 +0200
---- src/if_python3.c	2013-11-03 00:24:57.000000000 +0100
-***************
-*** 302,308 ****
-  static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *);
-  static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *);
-  static int (*py3_PyObject_HasAttrString)(PyObject *, const char *);
-! static PyObject* (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
-  static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...);
-  static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...);
-  static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *);
---- 302,308 ----
-  static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *);
-  static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *);
-  static int (*py3_PyObject_HasAttrString)(PyObject *, const char *);
-! static int (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
-  static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...);
-  static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...);
-  static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *);
-*** ../vim-7.4.059/src/version.c	2013-11-03 00:20:46.000000000 +0100
---- src/version.c	2013-11-03 00:26:19.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     60,
-  /**/
-
--- 
-Kisses may last for as much as, but no more than, five minutes.
-		[real standing law in Iowa, 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    ///
diff --git a/7.4.061 b/7.4.061
deleted file mode 100644
index ebd5b2d..0000000
--- a/7.4.061
+++ /dev/null
@@ -1,144 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.061
-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.061 (after 7.4.055 and 7.4.056)
-Problem:    Availability macros configure check in wrong place.
-Solution:   Also check when not using Darwin. Remove version check.
-Files:      src/configure.in, src/auto/configure, src/os_unix.c
-
-
-*** ../vim-7.4.060/src/configure.in	2013-11-02 21:04:32.000000000 +0100
---- src/configure.in	2013-11-03 00:34:07.000000000 +0100
-***************
-*** 206,215 ****
-      dnl TODO: use -arch i386 on Intel machines
-      CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
--     dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
--     dnl so we need to include it to have access to version macros.
--     AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])])
-- 
-      dnl If Carbon is found, assume we don't want X11
-      dnl unless it was specifically asked for (--with-x)
-      dnl or Motif, Athena or GTK GUI is used.
---- 206,211 ----
-***************
-*** 232,237 ****
---- 228,237 ----
-    AC_MSG_RESULT(no)
-  fi
-  
-+ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
-+ dnl so we need to include it to have access to version macros.
-+ AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1)
-+ 
-  AC_SUBST(OS_EXTRA_SRC)
-  AC_SUBST(OS_EXTRA_OBJ)
-  
-*** ../vim-7.4.060/src/auto/configure	2013-11-02 21:04:32.000000000 +0100
---- src/auto/configure	2013-11-03 00:36:20.000000000 +0100
-***************
-*** 4223,4229 ****
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-          CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
-!             # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-  for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-  		  inttypes.h stdint.h unistd.h
-  do :
---- 4223,4229 ----
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-          CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
-!                 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-  for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-  		  inttypes.h stdint.h unistd.h
-  do :
-***************
-*** 4241,4256 ****
-  done
-  
-  
-! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
-! 
-! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h
-! 
-! fi
-! 
-! 
-! 
-!                 ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
-  if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
-    CARBON=yes
-  fi
---- 4241,4247 ----
-  done
-  
-  
-! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
-  if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
-    CARBON=yes
-  fi
-***************
-*** 4272,4277 ****
---- 4263,4275 ----
-  $as_echo "no" >&6; }
-  fi
-  
-+ ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-+ if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
-+   HAVE_AVAILABILITYMACROS_H=1
-+ fi
-+ 
-+ 
-+ 
-  
-  
-  
-*** ../vim-7.4.060/src/os_unix.c	2013-11-02 21:49:28.000000000 +0100
---- src/os_unix.c	2013-11-03 00:34:29.000000000 +0100
-***************
-*** 804,812 ****
-   * completely full.
-   */
-  
-! #if defined(HAVE_AVAILABILITYMACROS_H) \
-!     && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
-!     && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090)
-  # include <AvailabilityMacros.h>
-  #endif
-  
---- 804,810 ----
-   * completely full.
-   */
-  
-! #if defined(HAVE_AVAILABILITYMACROS_H)
-  # include <AvailabilityMacros.h>
-  #endif
-  
-*** ../vim-7.4.060/src/version.c	2013-11-03 00:28:20.000000000 +0100
---- src/version.c	2013-11-03 00:37:02.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     61,
-  /**/
-
--- 
-It is illegal to rob a bank and then shoot at the bank teller with a water
-pistol.
-		[real standing law in Louisana, 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    ///
diff --git a/7.4.062 b/7.4.062
deleted file mode 100644
index dad0a42..0000000
--- a/7.4.062
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.062
-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.062 (after 7.4.061)
-Problem:    Configure check for AvailabilityMacros.h is wrong.
-Solution:   Use AC_CHECK_HEADERS().
-Files:      src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.061/src/configure.in	2013-11-03 00:40:54.000000000 +0100
---- src/configure.in	2013-11-03 20:19:42.000000000 +0100
-***************
-*** 230,236 ****
-  
-  dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
-  dnl so we need to include it to have access to version macros.
-! AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1)
-  
-  AC_SUBST(OS_EXTRA_SRC)
-  AC_SUBST(OS_EXTRA_OBJ)
---- 230,236 ----
-  
-  dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
-  dnl so we need to include it to have access to version macros.
-! AC_CHECK_HEADERS(AvailabilityMacros.h)
-  
-  AC_SUBST(OS_EXTRA_SRC)
-  AC_SUBST(OS_EXTRA_OBJ)
-*** ../vim-7.4.061/src/auto/configure	2013-11-03 00:40:54.000000000 +0100
---- src/auto/configure	2013-11-03 20:22:56.000000000 +0100
-***************
-*** 4263,4273 ****
-  $as_echo "no" >&6; }
-  fi
-  
-! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-  if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
-!   HAVE_AVAILABILITYMACROS_H=1
-  fi
-  
-  
-  
-  
---- 4263,4279 ----
-  $as_echo "no" >&6; }
-  fi
-  
-! for ac_header in AvailabilityMacros.h
-! do :
-!   ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-  if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
-!   cat >>confdefs.h <<_ACEOF
-! #define HAVE_AVAILABILITYMACROS_H 1
-! _ACEOF
-! 
-  fi
-  
-+ done
-  
-  
-  
-*** ../vim-7.4.061/src/version.c	2013-11-03 00:40:54.000000000 +0100
---- src/version.c	2013-11-03 20:25:31.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     62,
-  /**/
-
--- 
-Yesterday, all my deadlines seemed so far away
-now it looks as though it's freeze in four days
-oh I believe in cvs..
-    [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ]
-
- /// 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    ///
diff --git a/7.4.063 b/7.4.063
deleted file mode 100644
index b72b0b7..0000000
--- a/7.4.063
+++ /dev/null
@@ -1,105 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.063
-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.063
-Problem:    Crash when using invalid key in Python dictionary.
-Solution:   Check for object to be NULL.  Add tests. (ZyX)
-Files:      src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
-            src/testdir/test87.in, src/testdir/test87.ok
-
-
-*** ../vim-7.4.062/src/if_py_both.h	2013-07-24 17:09:19.000000000 +0200
---- src/if_py_both.h	2013-11-04 00:27:40.000000000 +0100
-***************
-*** 1624,1629 ****
---- 1624,1632 ----
-      PyObject	*rObj = _DictionaryItem(self, keyObject, DICT_FLAG_RETURN_BOOL);
-      int		ret;
-  
-+     if (rObj == NULL)
-+ 	return -1;
-+ 
-      ret = (rObj == Py_True);
-  
-      Py_DECREF(rObj);
-*** ../vim-7.4.062/src/testdir/test86.in	2013-07-13 14:00:31.000000000 +0200
---- src/testdir/test86.in	2013-11-04 00:27:11.000000000 +0100
-***************
-*** 1088,1093 ****
---- 1088,1096 ----
-  stringtochars_test('d.get(%s)')
-  ee('d.pop("a")')
-  ee('dl.pop("a")')
-+ cb.append(">> DictionaryContains")
-+ ee('"" in d')
-+ ee('0 in d')
-  cb.append(">> DictionaryIterNext")
-  ee('for i in ned: ned["a"] = 1')
-  del i
-*** ../vim-7.4.062/src/testdir/test86.ok	2013-06-23 16:38:39.000000000 +0200
---- src/testdir/test86.ok	2013-11-04 00:27:11.000000000 +0100
-***************
-*** 516,521 ****
---- 516,524 ----
-  <<< Finished
-  d.pop("a"):KeyError:('a',)
-  dl.pop("a"):error:('dictionary is locked',)
-+ >> DictionaryContains
-+ "" in d:ValueError:('empty keys are not allowed',)
-+ 0 in d:TypeError:('expected str() or unicode() instance, but got int',)
-  >> DictionaryIterNext
-  for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',)
-  >> DictionaryAssItem
-*** ../vim-7.4.062/src/testdir/test87.in	2013-07-06 13:41:30.000000000 +0200
---- src/testdir/test87.in	2013-11-04 00:27:11.000000000 +0100
-***************
-*** 1039,1044 ****
---- 1039,1047 ----
-  stringtochars_test('d.get(%s)')
-  ee('d.pop("a")')
-  ee('dl.pop("a")')
-+ cb.append(">> DictionaryContains")
-+ ee('"" in d')
-+ ee('0 in d')
-  cb.append(">> DictionaryIterNext")
-  ee('for i in ned: ned["a"] = 1')
-  del i
-*** ../vim-7.4.062/src/testdir/test87.ok	2013-06-23 16:38:39.000000000 +0200
---- src/testdir/test87.ok	2013-11-04 00:27:11.000000000 +0100
-***************
-*** 505,510 ****
---- 505,513 ----
-  <<< Finished
-  d.pop("a"):(<class 'KeyError'>, KeyError('a',))
-  dl.pop("a"):(<class 'vim.error'>, error('dictionary is locked',))
-+ >> DictionaryContains
-+ "" in d:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
-+ 0 in d:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
-  >> DictionaryIterNext
-  for i in ned: ned["a"] = 1:(<class 'RuntimeError'>, RuntimeError('hashtab changed during iteration',))
-  >> DictionaryAssItem
-*** ../vim-7.4.062/src/version.c	2013-11-03 20:26:27.000000000 +0100
---- src/version.c	2013-11-04 00:26:39.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     63,
-  /**/
-
--- 
-A parent can be arrested if his child cannot hold back a burp during a church
-service.
-		[real standing law in Nebraska, 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    ///
diff --git a/7.4.064 b/7.4.064
deleted file mode 100644
index 7713208..0000000
Binary files a/7.4.064 and /dev/null differ
diff --git a/7.4.065 b/7.4.065
deleted file mode 100644
index fd17fa0..0000000
--- a/7.4.065
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.065
-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.065
-Problem:    When recording, the character typed at the hit-enter prompt is
-            recorded twice. (Urtica Dioica)
-Solution:   Avoid recording the character twice. (Christian Brabandt)
-Files:      src/message.c
-
-
-*** ../vim-7.4.064/src/message.c	2013-08-09 20:30:45.000000000 +0200
---- src/message.c	2013-11-04 01:56:09.000000000 +0100
-***************
-*** 887,892 ****
---- 887,894 ----
-      int		oldState;
-      int		tmpState;
-      int		had_got_int;
-+     int		save_Recording;
-+     FILE	*save_scriptout;
-  
-      if (redraw == TRUE)
-  	must_redraw = CLEAR;
-***************
-*** 957,967 ****
---- 959,979 ----
-  	     * typeahead buffer. */
-  	    ++no_mapping;
-  	    ++allow_keys;
-+ 
-+ 	    /* Temporarily disable Recording. If Recording is active, the
-+ 	     * character will be recorded later, since it will be added to the
-+ 	     * typebuf after the loop */
-+ 	    save_Recording = Recording;
-+ 	    save_scriptout = scriptout;
-+ 	    Recording = FALSE;
-+ 	    scriptout = NULL;
-  	    c = safe_vgetc();
-  	    if (had_got_int && !global_busy)
-  		got_int = FALSE;
-  	    --no_mapping;
-  	    --allow_keys;
-+ 	    Recording = save_Recording;
-+ 	    scriptout = save_scriptout;
-  
-  #ifdef FEAT_CLIPBOARD
-  	    /* Strange way to allow copying (yanking) a modeless selection at
-*** ../vim-7.4.064/src/version.c	2013-11-04 01:41:11.000000000 +0100
---- src/version.c	2013-11-04 01:53:19.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     65,
-  /**/
-
--- 
-Zen Microsystems: we're the om in .commmmmmmmm
-
- /// 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    ///
diff --git a/7.4.066 b/7.4.066
deleted file mode 100644
index edab092..0000000
--- a/7.4.066
+++ /dev/null
@@ -1,354 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.066
-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.066
-Problem:    MS-Windows: When there is a colon in the file name (sub-stream
-            feature) the swap file name is wrong.
-Solution:   Change the colon to "%". (Yasuhiro Matsumoto)
-Files:      src/fileio.c, src/memline.c, src/misc1.c, src/proto/misc1.pro
-
-
-*** ../vim-7.4.065/src/memline.c	2013-05-06 04:01:02.000000000 +0200
---- src/memline.c	2013-11-04 02:52:44.000000000 +0100
-***************
-*** 4014,4019 ****
---- 4014,4026 ----
-      else
-  	retval = concat_fnames(dname, tail, TRUE);
-  
-+ #ifdef WIN3264
-+     if (retval != NULL)
-+ 	for (t = gettail(retval); *t != NUL; mb_ptr_adv(t))
-+ 	    if (*t == ':')
-+ 		*t = '%';
-+ #endif
-+ 
-      return retval;
-  }
-  
-***************
-*** 4137,4148 ****
-  #ifndef SHORT_FNAME
-      int		r;
-  #endif
-  
-  #if !defined(SHORT_FNAME) \
-! 		     && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE))
-  # define CREATE_DUMMY_FILE
-      FILE	*dummyfd = NULL;
-  
-      /*
-       * If we start editing a new file, e.g. "test.doc", which resides on an
-       * MSDOS compatible filesystem, it is possible that the file
---- 4144,4172 ----
-  #ifndef SHORT_FNAME
-      int		r;
-  #endif
-+     char_u	*buf_fname = buf->b_fname;
-  
-  #if !defined(SHORT_FNAME) \
-! 		&& ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE))
-  # define CREATE_DUMMY_FILE
-      FILE	*dummyfd = NULL;
-  
-+ # ifdef WIN3264
-+     if (buf_fname != NULL && !mch_isFullName(buf_fname)
-+ 				       && vim_strchr(gettail(buf_fname), ':'))
-+     {
-+ 	char_u *t;
-+ 
-+ 	buf_fname = vim_strsave(buf_fname);
-+ 	if (buf_fname == NULL)
-+ 	    buf_fname = buf->b_fname;
-+ 	else
-+ 	    for (t = gettail(buf_fname); *t != NUL; mb_ptr_adv(t))
-+ 		if (*t == ':')
-+ 		    *t = '%';
-+     }
-+ # endif
-+ 
-      /*
-       * If we start editing a new file, e.g. "test.doc", which resides on an
-       * MSDOS compatible filesystem, it is possible that the file
-***************
-*** 4150,4158 ****
-       * this problem we temporarily create "test.doc".  Don't do this when the
-       * check below for a 8.3 file name is used.
-       */
-!     if (!(buf->b_p_sn || buf->b_shortname) && buf->b_fname != NULL
-! 					     && mch_getperm(buf->b_fname) < 0)
-! 	dummyfd = mch_fopen((char *)buf->b_fname, "w");
-  #endif
-  
-      /*
---- 4174,4182 ----
-       * this problem we temporarily create "test.doc".  Don't do this when the
-       * check below for a 8.3 file name is used.
-       */
-!     if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL
-! 					     && mch_getperm(buf_fname) < 0)
-! 	dummyfd = mch_fopen((char *)buf_fname, "w");
-  #endif
-  
-      /*
-***************
-*** 4171,4177 ****
-      if (dir_name == NULL)	    /* out of memory */
-  	fname = NULL;
-      else
-! 	fname = makeswapname(buf->b_fname, buf->b_ffname, buf, dir_name);
-  
-      for (;;)
-      {
---- 4195,4201 ----
-      if (dir_name == NULL)	    /* out of memory */
-  	fname = NULL;
-      else
-! 	fname = makeswapname(buf_fname, buf->b_ffname, buf, dir_name);
-  
-      for (;;)
-      {
-***************
-*** 4204,4210 ****
-  	     * It either contains two dots, is longer than 8 chars, or starts
-  	     * with a dot.
-  	     */
-! 	    tail = gettail(buf->b_fname);
-  	    if (       vim_strchr(tail, '.') != NULL
-  		    || STRLEN(tail) > (size_t)8
-  		    || *gettail(fname) == '.')
---- 4228,4234 ----
-  	     * It either contains two dots, is longer than 8 chars, or starts
-  	     * with a dot.
-  	     */
-! 	    tail = gettail(buf_fname);
-  	    if (       vim_strchr(tail, '.') != NULL
-  		    || STRLEN(tail) > (size_t)8
-  		    || *gettail(fname) == '.')
-***************
-*** 4273,4279 ****
-  		    {
-  			buf->b_shortname = TRUE;
-  			vim_free(fname);
-! 			fname = makeswapname(buf->b_fname, buf->b_ffname,
-  							       buf, dir_name);
-  			continue;	/* try again with b_shortname set */
-  		    }
---- 4297,4303 ----
-  		    {
-  			buf->b_shortname = TRUE;
-  			vim_free(fname);
-! 			fname = makeswapname(buf_fname, buf->b_ffname,
-  							       buf, dir_name);
-  			continue;	/* try again with b_shortname set */
-  		    }
-***************
-*** 4344,4350 ****
-  		{
-  		    buf->b_shortname = TRUE;
-  		    vim_free(fname);
-! 		    fname = makeswapname(buf->b_fname, buf->b_ffname,
-  							       buf, dir_name);
-  		    continue;	    /* try again with '.' replaced with '_' */
-  		}
---- 4368,4374 ----
-  		{
-  		    buf->b_shortname = TRUE;
-  		    vim_free(fname);
-! 		    fname = makeswapname(buf_fname, buf->b_ffname,
-  							       buf, dir_name);
-  		    continue;	    /* try again with '.' replaced with '_' */
-  		}
-***************
-*** 4356,4362 ****
-  	     * viewing a help file or when the path of the file is different
-  	     * (happens when all .swp files are in one directory).
-  	     */
-! 	    if (!recoverymode && buf->b_fname != NULL
-  				&& !buf->b_help && !(buf->b_flags & BF_DUMMY))
-  	    {
-  		int		fd;
---- 4380,4386 ----
-  	     * viewing a help file or when the path of the file is different
-  	     * (happens when all .swp files are in one directory).
-  	     */
-! 	    if (!recoverymode && buf_fname != NULL
-  				&& !buf->b_help && !(buf->b_flags & BF_DUMMY))
-  	    {
-  		int		fd;
-***************
-*** 4433,4439 ****
-  		    {
-  			fclose(dummyfd);
-  			dummyfd = NULL;
-! 			mch_remove(buf->b_fname);
-  			did_use_dummy = TRUE;
-  		    }
-  #endif
---- 4457,4463 ----
-  		    {
-  			fclose(dummyfd);
-  			dummyfd = NULL;
-! 			mch_remove(buf_fname);
-  			did_use_dummy = TRUE;
-  		    }
-  #endif
-***************
-*** 4448,4454 ****
-  		     * user anyway.
-  		     */
-  		    if (swap_exists_action != SEA_NONE
-! 			    && has_autocmd(EVENT_SWAPEXISTS, buf->b_fname, buf))
-  			choice = do_swapexists(buf, fname);
-  
-  		    if (choice == 0)
---- 4472,4478 ----
-  		     * user anyway.
-  		     */
-  		    if (swap_exists_action != SEA_NONE
-! 			    && has_autocmd(EVENT_SWAPEXISTS, buf_fname, buf))
-  			choice = do_swapexists(buf, fname);
-  
-  		    if (choice == 0)
-***************
-*** 4549,4555 ****
-  #ifdef CREATE_DUMMY_FILE
-  		    /* Going to try another name, need the dummy file again. */
-  		    if (did_use_dummy)
-! 			dummyfd = mch_fopen((char *)buf->b_fname, "w");
-  #endif
-  		}
-  	    }
---- 4573,4579 ----
-  #ifdef CREATE_DUMMY_FILE
-  		    /* Going to try another name, need the dummy file again. */
-  		    if (did_use_dummy)
-! 			dummyfd = mch_fopen((char *)buf_fname, "w");
-  #endif
-  		}
-  	    }
-***************
-*** 4581,4589 ****
-      if (dummyfd != NULL)	/* file has been created temporarily */
-      {
-  	fclose(dummyfd);
-! 	mch_remove(buf->b_fname);
-      }
-  #endif
-      return fname;
-  }
-  
---- 4605,4617 ----
-      if (dummyfd != NULL)	/* file has been created temporarily */
-      {
-  	fclose(dummyfd);
-! 	mch_remove(buf_fname);
-      }
-  #endif
-+ #ifdef WIN3264
-+     if (buf_fname != buf->b_fname)
-+ 	vim_free(buf_fname);
-+ #endif
-      return fname;
-  }
-  
-*** ../vim-7.4.065/src/misc1.c	2013-10-06 17:46:48.000000000 +0200
---- src/misc1.c	2013-11-04 02:44:28.000000000 +0100
-***************
-*** 4808,4816 ****
-  
-      if (fname == NULL)
-  	return (char_u *)"";
-!     for (p1 = p2 = fname; *p2; )	/* find last part of path */
-      {
-! 	if (vim_ispathsep(*p2))
-  	    p1 = p2 + 1;
-  	mb_ptr_adv(p2);
-      }
---- 4808,4816 ----
-  
-      if (fname == NULL)
-  	return (char_u *)"";
-!     for (p1 = p2 = get_past_head(fname); *p2; )	/* find last part of path */
-      {
-! 	if (vim_ispathsep_nocolon(*p2))
-  	    p1 = p2 + 1;
-  	mb_ptr_adv(p2);
-      }
-***************
-*** 4929,4935 ****
-  }
-  
-  /*
-!  * return TRUE if 'c' is a path separator.
-   */
-      int
-  vim_ispathsep(c)
---- 4929,4936 ----
-  }
-  
-  /*
-!  * Return TRUE if 'c' is a path separator.
-!  * Note that for MS-Windows this includes the colon.
-   */
-      int
-  vim_ispathsep(c)
-***************
-*** 4952,4957 ****
---- 4953,4972 ----
-  #endif
-  }
-  
-+ /*
-+  * Like vim_ispathsep(c), but exclude the colon for MS-Windows.
-+  */
-+     int
-+ vim_ispathsep_nocolon(c)
-+     int c;
-+ {
-+     return vim_ispathsep(c)
-+ #ifdef BACKSLASH_IN_FILENAME
-+ 	&& c != ':'
-+ #endif
-+ 	;
-+ }
-+ 
-  #if defined(FEAT_SEARCHPATH) || defined(PROTO)
-  /*
-   * return TRUE if 'c' is a path list separator.
-*** ../vim-7.4.065/src/proto/misc1.pro	2013-08-10 13:37:20.000000000 +0200
---- src/proto/misc1.pro	2013-11-04 02:44:30.000000000 +0100
-***************
-*** 69,74 ****
---- 69,75 ----
-  char_u *getnextcomp __ARGS((char_u *fname));
-  char_u *get_past_head __ARGS((char_u *path));
-  int vim_ispathsep __ARGS((int c));
-+ int vim_ispathsep_nocolon __ARGS((int c));
-  int vim_ispathlistsep __ARGS((int c));
-  void shorten_dir __ARGS((char_u *str));
-  int dir_of_file_exists __ARGS((char_u *fname));
-*** ../vim-7.4.065/src/version.c	2013-11-04 02:00:55.000000000 +0100
---- src/version.c	2013-11-04 02:50:35.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     66,
-  /**/
-
--- 
-Females are strictly forbidden to appear unshaven in public.
-		[real standing law in New Mexico, 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    ///
diff --git a/7.4.067 b/7.4.067
deleted file mode 100644
index 75a89c2..0000000
--- a/7.4.067
+++ /dev/null
@@ -1,126 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.067
-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.067
-Problem:    After inserting comment leader, CTRL-\ CTRL-O does move the
-            cursor. (Wiktor Ruben)
-Solution:   Avoid moving the cursor. (Christian Brabandt)
-Files:      src/edit.c
-
-
-*** ../vim-7.4.066/src/edit.c	2013-09-08 20:00:45.000000000 +0200
---- src/edit.c	2013-11-04 03:57:43.000000000 +0100
-***************
-*** 199,205 ****
-  static void spell_back_to_badword __ARGS((void));
-  static int  spell_bad_len = 0;	/* length of located bad word */
-  #endif
-! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc));
-  static int  echeck_abbr __ARGS((int));
-  static int  replace_pop __ARGS((void));
-  static void replace_join __ARGS((int off));
---- 199,205 ----
-  static void spell_back_to_badword __ARGS((void));
-  static int  spell_bad_len = 0;	/* length of located bad word */
-  #endif
-! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc, int nomove));
-  static int  echeck_abbr __ARGS((int));
-  static int  replace_pop __ARGS((void));
-  static void replace_join __ARGS((int off));
-***************
-*** 6698,6704 ****
-      if (!arrow_used)	    /* something has been inserted */
-      {
-  	AppendToRedobuff(ESC_STR);
-! 	stop_insert(end_insert_pos, FALSE);
-  	arrow_used = TRUE;	/* this means we stopped the current insert */
-      }
-  #ifdef FEAT_SPELL
---- 6698,6704 ----
-      if (!arrow_used)	    /* something has been inserted */
-      {
-  	AppendToRedobuff(ESC_STR);
-! 	stop_insert(end_insert_pos, FALSE, FALSE);
-  	arrow_used = TRUE;	/* this means we stopped the current insert */
-      }
-  #ifdef FEAT_SPELL
-***************
-*** 6787,6795 ****
-   * to another window/buffer.
-   */
-      static void
-! stop_insert(end_insert_pos, esc)
-      pos_T	*end_insert_pos;
-      int		esc;			/* called by ins_esc() */
-  {
-      int		cc;
-      char_u	*ptr;
---- 6787,6796 ----
-   * to another window/buffer.
-   */
-      static void
-! stop_insert(end_insert_pos, esc, nomove)
-      pos_T	*end_insert_pos;
-      int		esc;			/* called by ins_esc() */
-+     int		nomove;			/* <c-\><c-o>, don't move cursor */
-  {
-      int		cc;
-      char_u	*ptr;
-***************
-*** 6860,6866 ****
-  	 * Do this when ESC was used or moving the cursor up/down.
-  	 * Check for the old position still being valid, just in case the text
-  	 * got changed unexpectedly. */
-! 	if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
-  			&& curwin->w_cursor.lnum != end_insert_pos->lnum))
-  		&& end_insert_pos->lnum <= curbuf->b_ml.ml_line_count)
-  	{
---- 6861,6867 ----
-  	 * Do this when ESC was used or moving the cursor up/down.
-  	 * Check for the old position still being valid, just in case the text
-  	 * got changed unexpectedly. */
-! 	if (!nomove && did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
-  			&& curwin->w_cursor.lnum != end_insert_pos->lnum))
-  		&& end_insert_pos->lnum <= curbuf->b_ml.ml_line_count)
-  	{
-***************
-*** 8377,8383 ****
-  	    disabled_redraw = TRUE;
-  	    return FALSE;	/* repeat the insert */
-  	}
-! 	stop_insert(&curwin->w_cursor, TRUE);
-  	undisplay_dollar();
-      }
-  
---- 8378,8384 ----
-  	    disabled_redraw = TRUE;
-  	    return FALSE;	/* repeat the insert */
-  	}
-! 	stop_insert(&curwin->w_cursor, TRUE, nomove);
-  	undisplay_dollar();
-      }
-  
-*** ../vim-7.4.066/src/version.c	2013-11-04 02:53:46.000000000 +0100
---- src/version.c	2013-11-04 03:57:29.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     67,
-  /**/
-
--- 
-Beer & pretzels can't be served at the same time in any bar or restaurant.
-		[real standing law in North Dakota, 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    ///
diff --git a/7.4.068 b/7.4.068
deleted file mode 100644
index a909338..0000000
--- a/7.4.068
+++ /dev/null
@@ -1,131 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.068
-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.068
-Problem:    Cannot build Vim on Mac with non-Apple compilers.
-Solution:   Remove the -no-cpp-precomp flag. (Misty De Meo)
-Files:      src/configure.in, src/auto/configure, src/osdef.sh
-
-
-*** ../vim-7.4.067/src/configure.in	2013-11-03 20:26:26.000000000 +0100
---- src/configure.in	2013-11-04 04:53:51.000000000 +0100
-***************
-*** 204,210 ****
-      OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-      dnl TODO: use -arch i386 on Intel machines
-!     CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
-      dnl If Carbon is found, assume we don't want X11
-      dnl unless it was specifically asked for (--with-x)
---- 204,211 ----
-      OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-      dnl TODO: use -arch i386 on Intel machines
-!     dnl Removed -no-cpp-precomp, only for very old compilers.
-!     CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
-  
-      dnl If Carbon is found, assume we don't want X11
-      dnl unless it was specifically asked for (--with-x)
-***************
-*** 262,269 ****
-    ])
-    if test "$GCC" = yes -a "$local_dir" != no; then
-      echo 'void f(){}' > conftest.c
-!     dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
-!     have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
-      have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
-      rm -f conftest.c conftest.o
-    fi
---- 263,270 ----
-    ])
-    if test "$GCC" = yes -a "$local_dir" != no; then
-      echo 'void f(){}' > conftest.c
-!     dnl Removed -no-cpp-precomp, only needed for OS X 10.2 (Ben Fowler)
-!     have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
-      have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
-      rm -f conftest.c conftest.o
-    fi
-*** ../vim-7.4.067/src/auto/configure	2013-11-03 20:26:27.000000000 +0100
---- src/auto/configure	2013-11-04 04:54:16.000000000 +0100
-***************
-*** 4221,4227 ****
-      MACOSX=yes
-      OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-!         CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-  
-                  # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-  for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
---- 4221,4227 ----
-      MACOSX=yes
-      OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
-      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-!             CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
-  
-                  # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-  for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-***************
-*** 4311,4317 ****
-  
-    if test "$GCC" = yes -a "$local_dir" != no; then
-      echo 'void f(){}' > conftest.c
-!         have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
-      have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
-      rm -f conftest.c conftest.o
-    fi
---- 4311,4317 ----
-  
-    if test "$GCC" = yes -a "$local_dir" != no; then
-      echo 'void f(){}' > conftest.c
-!         have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
-      have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
-      rm -f conftest.c conftest.o
-    fi
-*** ../vim-7.4.067/src/osdef.sh	2010-05-15 13:04:08.000000000 +0200
---- src/osdef.sh	2013-11-04 04:51:36.000000000 +0100
-***************
-*** 47,57 ****
-  #endif
-  EOF
-  
-! # Mac uses precompiled headers, but we need real headers here.
-! case `uname` in
-!     Darwin)	$CC -I. -I$srcdir -E -no-cpp-precomp osdef0.c >osdef0.cc;;
-!     *)		$CC -I. -I$srcdir -E osdef0.c >osdef0.cc;;
-! esac
-  
-  # insert a space in front of each line, so that a function name at the
-  # start of the line is matched with "[)*, 	]\1[ 	(]"
---- 47,53 ----
-  #endif
-  EOF
-  
-! $CC -I. -I$srcdir -E osdef0.c >osdef0.cc
-  
-  # insert a space in front of each line, so that a function name at the
-  # start of the line is matched with "[)*, 	]\1[ 	(]"
-*** ../vim-7.4.067/src/version.c	2013-11-04 04:20:28.000000000 +0100
---- src/version.c	2013-11-04 04:51:51.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     68,
-  /**/
-
--- 
-Violators can be fined, arrested or jailed for making ugly faces at a dog.
-		[real standing law in Oklahoma, 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    ///
diff --git a/7.4.069 b/7.4.069
deleted file mode 100644
index ac52aff..0000000
--- a/7.4.069
+++ /dev/null
@@ -1,2559 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.069
-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.069
-Problem:    Cannot right shift lines starting with #.
-Solution:   Allow the right shift when 'cino' contains #N with N > 0.
-            (Christian Brabandt)
-            Refactor parsing 'cino', store the values in the buffer.
-Files:      runtime/doc/indent.txt, src/buffer.c, src/edit.c, src/eval.c,
-            src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c,
-            src/proto/misc1.pro, src/proto/option.pro, src/structs.h,
-            src/option.c
-
-
-*** ../vim-7.4.068/runtime/doc/indent.txt	2013-08-10 13:24:56.000000000 +0200
---- runtime/doc/indent.txt	2013-11-05 07:10:56.000000000 +0100
-***************
-*** 545,554 ****
-  	      (default 70 lines).
-  
-  								*cino-#*
-! 	#N    When N is non-zero recognize shell/Perl comments, starting with
-! 	      '#'.  Default N is zero: don't recognize '#' comments.  Note
-! 	      that lines starting with # will still be seen as preprocessor
-! 	      lines.
-  
-  
-  The defaults, spelled out in full, are:
---- 545,556 ----
-  	      (default 70 lines).
-  
-  								*cino-#*
-! 	#N    When N is non-zero recognize shell/Perl comments starting with
-! 	      '#', do not recognize preprocessor lines; allow right-shifting
-! 	      lines that start with "#".
-! 	      When N is zero (default): don't recognize '#' comments, do
-! 	      recognize preprocessor lines; right-shifting lines that start
-! 	      with "#" does not work.
-  
-  
-  The defaults, spelled out in full, are:
-***************
-*** 556,562 ****
-  			c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
-  
-  Vim puts a line in column 1 if:
-! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
-  - It starts with a label (a keyword followed by ':', other than "case" and
-    "default") and 'cinoptions' does not contain an 'L' entry with a positive
-    value.
---- 558,564 ----
-  			c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
-  
-  Vim puts a line in column 1 if:
-! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.
-  - It starts with a label (a keyword followed by ':', other than "case" and
-    "default") and 'cinoptions' does not contain an 'L' entry with a positive
-    value.
-***************
-*** 581,588 ****
-  
-  Clojure indentation differs somewhat from traditional Lisps, due in part to
-  the use of square and curly brackets, and otherwise by community convention.
-! These conventions are not always universally followed, so the Clojure indent
-! script offers a few configurable options, listed below.
-  
-  If the current vim does not include searchpairpos(), the indent script falls
-  back to normal 'lisp' indenting, and the following options are ignored.
---- 583,590 ----
-  
-  Clojure indentation differs somewhat from traditional Lisps, due in part to
-  the use of square and curly brackets, and otherwise by community convention.
-! These conventions are not universally followed, so the Clojure indent script
-! offers a few configurable options, listed below.
-  
-  If the current vim does not include searchpairpos(), the indent script falls
-  back to normal 'lisp' indenting, and the following options are ignored.
-*** ../vim-7.4.068/src/buffer.c	2013-11-02 04:39:34.000000000 +0100
---- src/buffer.c	2013-11-05 06:18:54.000000000 +0100
-***************
-*** 211,217 ****
---- 211,220 ----
-  
-      /* if first time loading this buffer, init b_chartab[] */
-      if (curbuf->b_flags & BF_NEVERLOADED)
-+     {
-  	(void)buf_init_chartab(curbuf, FALSE);
-+ 	parse_cino(curbuf);
-+     }
-  
-      /*
-       * Set/reset the Changed flag first, autocmds may change the buffer.
-*** ../vim-7.4.068/src/edit.c	2013-11-04 04:20:28.000000000 +0100
---- src/edit.c	2013-11-05 06:12:45.000000000 +0100
-***************
-*** 8958,8964 ****
-  
-  	    *inserted_space_p = FALSE;
-  	    if (p_sta && in_indent)
-! 		ts = (int)get_sw_value();
-  	    else
-  		ts = (int)get_sts_value();
-  	    /* Compute the virtual column where we want to be.  Since
---- 8958,8964 ----
-  
-  	    *inserted_space_p = FALSE;
-  	    if (p_sta && in_indent)
-! 		ts = (int)get_sw_value(curbuf);
-  	    else
-  		ts = (int)get_sts_value();
-  	    /* Compute the virtual column where we want to be.  Since
-***************
-*** 9647,9653 ****
-       * When nothing special, insert TAB like a normal character
-       */
-      if (!curbuf->b_p_et
-! 	    && !(p_sta && ind && curbuf->b_p_ts != get_sw_value())
-  	    && get_sts_value() == 0)
-  	return TRUE;
-  
---- 9647,9653 ----
-       * When nothing special, insert TAB like a normal character
-       */
-      if (!curbuf->b_p_et
-! 	    && !(p_sta && ind && curbuf->b_p_ts != get_sw_value(curbuf))
-  	    && get_sts_value() == 0)
-  	return TRUE;
-  
-***************
-*** 9663,9669 ****
-      AppendToRedobuff((char_u *)"\t");
-  
-      if (p_sta && ind)		/* insert tab in indent, use 'shiftwidth' */
-! 	temp = (int)get_sw_value();
-      else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */
-  	temp = (int)get_sts_value();
-      else			/* otherwise use 'tabstop' */
---- 9663,9669 ----
-      AppendToRedobuff((char_u *)"\t");
-  
-      if (p_sta && ind)		/* insert tab in indent, use 'shiftwidth' */
-! 	temp = (int)get_sw_value(curbuf);
-      else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */
-  	temp = (int)get_sts_value();
-      else			/* otherwise use 'tabstop' */
-*** ../vim-7.4.068/src/eval.c	2013-11-02 23:29:17.000000000 +0100
---- src/eval.c	2013-11-05 06:12:49.000000000 +0100
-***************
-*** 16934,16940 ****
-      typval_T	*argvars UNUSED;
-      typval_T	*rettv;
-  {
-!     rettv->vval.v_number = get_sw_value();
-  }
-  
-  /*
---- 16934,16940 ----
-      typval_T	*argvars UNUSED;
-      typval_T	*rettv;
-  {
-!     rettv->vval.v_number = get_sw_value(curbuf);
-  }
-  
-  /*
-*** ../vim-7.4.068/src/ex_getln.c	2013-07-05 19:44:21.000000000 +0200
---- src/ex_getln.c	2013-11-05 06:12:57.000000000 +0100
-***************
-*** 2280,2286 ****
-  
-  	    if (c1 == Ctrl_T)
-  	    {
-! 		long        sw = get_sw_value();
-  
-  		p = (char_u *)line_ga.ga_data;
-  		p[line_ga.ga_len] = NUL;
---- 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;
-***************
-*** 2337,2343 ****
-  		    p[line_ga.ga_len] = NUL;
-  		    indent = get_indent_str(p, 8);
-  		    --indent;
-! 		    indent -= indent % get_sw_value();
-  		}
-  		while (get_indent_str(p, 8) > indent)
-  		{
---- 2337,2343 ----
-  		    p[line_ga.ga_len] = NUL;
-  		    indent = get_indent_str(p, 8);
-  		    --indent;
-! 		    indent -= indent % get_sw_value(curbuf);
-  		}
-  		while (get_indent_str(p, 8) > indent)
-  		{
-***************
-*** 4178,4184 ****
-  /*
-   * Prepare a string for expansion.
-   * When expanding file names: The string will be used with expand_wildcards().
-!  * Copy the file name into allocated memory and add a '*' at the end.
-   * When expanding other names: The string will be used with regcomp().  Copy
-   * the name into allocated memory and prepend "^".
-   */
---- 4178,4184 ----
-  /*
-   * Prepare a string for expansion.
-   * When expanding file names: The string will be used with expand_wildcards().
-!  * Copy "fname[len]" into allocated memory and add a '*' at the end.
-   * When expanding other names: The string will be used with regcomp().  Copy
-   * the name into allocated memory and prepend "^".
-   */
-*** ../vim-7.4.068/src/fold.c	2013-06-15 16:57:24.000000000 +0200
---- src/fold.c	2013-11-05 06:13:03.000000000 +0100
-***************
-*** 3052,3058 ****
-  	    flp->lvl = -1;
-      }
-      else
-! 	flp->lvl = get_indent_buf(buf, lnum) / get_sw_value();
-      if (flp->lvl > flp->wp->w_p_fdn)
-      {
-  	flp->lvl = flp->wp->w_p_fdn;
---- 3052,3058 ----
-  	    flp->lvl = -1;
-      }
-      else
-! 	flp->lvl = get_indent_buf(buf, lnum) / get_sw_value(curbuf);
-      if (flp->lvl > flp->wp->w_p_fdn)
-      {
-  	flp->lvl = flp->wp->w_p_fdn;
-*** ../vim-7.4.068/src/misc1.c	2013-11-04 02:53:46.000000000 +0100
---- src/misc1.c	2013-11-05 06:45:15.000000000 +0100
-***************
-*** 1405,1411 ****
-  #ifdef FEAT_SMARTINDENT
-  	if (did_si)
-  	{
-! 	    int        sw = (int)get_sw_value();
-  
-  	    if (p_sr)
-  		newindent -= newindent % sw;
---- 1405,1411 ----
-  #ifdef FEAT_SMARTINDENT
-  	if (did_si)
-  	{
-! 	    int        sw = (int)get_sw_value(curbuf);
-  
-  	    if (p_sr)
-  		newindent -= newindent % sw;
-***************
-*** 5342,5349 ****
-  static int	find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment));
-  static int	cin_is_cpp_namespace __ARGS((char_u *));
-  
-- static int	ind_hash_comment = 0;   /* # starts a comment */
-- 
-  /*
-   * Skip over white space and C comments within the line.
-   * Also skip over Perl/shell comments if desired.
---- 5342,5347 ----
-***************
-*** 5360,5366 ****
-  
-  	/* Perl/shell # comment comment continues until eol.  Require a space
-  	 * before # to avoid recognizing $#array. */
-! 	if (ind_hash_comment != 0 && s != prev_s && *s == '#')
-  	{
-  	    s += STRLEN(s);
-  	    break;
---- 5358,5364 ----
-  
-  	/* Perl/shell # comment comment continues until eol.  Require a space
-  	 * before # to avoid recognizing $#array. */
-! 	if (curbuf->b_ind_hash_comment != 0 && s != prev_s && *s == '#')
-  	{
-  	    s += STRLEN(s);
-  	    break;
-***************
-*** 6639,6839 ****
-      return retval;
-  }
-  
-!     int
-! get_c_indent()
-  {
-!     int sw = (int)get_sw_value();
-  
-      /*
-!      * spaces from a block's opening brace the prevailing indent for that
-!      * block should be
-       */
-  
-!     int ind_level = sw;
-  
-!     /*
-!      * spaces from the edge of the line an open brace that's at the end of a
-!      * line is imagined to be.
-!      */
-!     int ind_open_imag = 0;
-  
-!     /*
-!      * spaces from the prevailing indent for a line that is not preceded by
-!      * an opening brace.
-!      */
-!     int ind_no_brace = 0;
-! 
-!     /*
-!      * column where the first { of a function should be located }
-!      */
-!     int ind_first_open = 0;
-  
-!     /*
-!      * spaces from the prevailing indent a leftmost open brace should be
-!      * located
-!      */
-!     int ind_open_extra = 0;
-  
-!     /*
-!      * spaces from the matching open brace (real location for one at the left
-       * edge; imaginary location from one that ends a line) the matching close
-!      * brace should be located
-!      */
-!     int ind_close_extra = 0;
-  
-!     /*
-!      * spaces from the edge of the line an open brace sitting in the leftmost
-!      * column is imagined to be
-!      */
-!     int ind_open_left_imag = 0;
-  
-!     /*
-!      * Spaces jump labels should be shifted to the left if N is non-negative,
-!      * otherwise the jump label will be put to column 1.
-!      */
-!     int ind_jump_label = -1;
-  
-!     /*
-!      * spaces from the switch() indent a "case xx" label should be located
-!      */
-!     int ind_case = sw;
-  
-!     /*
-!      * spaces from the "case xx:" code after a switch() should be located
-!      */
-!     int ind_case_code = sw;
-  
-!     /*
-!      * lineup break at end of case in switch() with case label
-!      */
-!     int ind_case_break = 0;
-  
-!     /*
-!      * spaces from the class declaration indent a scope declaration label
-!      * should be located
-!      */
-!     int ind_scopedecl = sw;
-  
-!     /*
-!      * spaces from the scope declaration label code should be located
-!      */
-!     int ind_scopedecl_code = sw;
-  
-!     /*
-!      * amount K&R-style parameters should be indented
-!      */
-!     int ind_param = sw;
-  
-!     /*
-!      * amount a function type spec should be indented
-!      */
-!     int ind_func_type = sw;
-  
-!     /*
-!      * amount a cpp base class declaration or constructor initialization
-!      * should be indented
-!      */
-!     int ind_cpp_baseclass = sw;
-  
-!     /*
-!      * additional spaces beyond the prevailing indent a continuation line
-!      * should be located
-!      */
-!     int ind_continuation = sw;
-  
-!     /*
-!      * spaces from the indent of the line with an unclosed parentheses
-!      */
-!     int ind_unclosed = sw * 2;
-  
-!     /*
-!      * spaces from the indent of the line with an unclosed parentheses, which
-!      * itself is also unclosed
-!      */
-!     int ind_unclosed2 = sw;
-  
-!     /*
-!      * suppress ignoring spaces from the indent of a line starting with an
-!      * unclosed parentheses.
-!      */
-!     int ind_unclosed_noignore = 0;
-  
-!     /*
-!      * If the opening paren is the last nonwhite character on the line, and
-!      * ind_unclosed_wrapped is nonzero, use this indent relative to the outer
-!      * context (for very long lines).
-!      */
-!     int ind_unclosed_wrapped = 0;
-  
-!     /*
-!      * suppress ignoring white space when lining up with the character after
-!      * an unclosed parentheses.
-!      */
-!     int ind_unclosed_whiteok = 0;
-  
-!     /*
-!      * indent a closing parentheses under the line start of the matching
-!      * opening parentheses.
-!      */
-!     int ind_matching_paren = 0;
-  
-!     /*
-!      * indent a closing parentheses under the previous line.
-!      */
-!     int ind_paren_prev = 0;
-  
-!     /*
-!      * Extra indent for comments.
-!      */
-!     int ind_comment = 0;
-  
-!     /*
-!      * spaces from the comment opener when there is nothing after it.
-!      */
-!     int ind_in_comment = 3;
-  
-!     /*
-!      * boolean: if non-zero, use ind_in_comment even if there is something
-!      * after the comment opener.
-!      */
-!     int ind_in_comment2 = 0;
-  
-!     /*
-!      * max lines to search for an open paren
-!      */
-!     int ind_maxparen = 20;
-  
-!     /*
-!      * max lines to search for an open comment
-!      */
-!     int ind_maxcomment = 70;
-  
-!     /*
-!      * handle braces for java code
-!      */
-!     int	ind_java = 0;
-  
-!     /*
-!      * not to confuse JS object properties with labels
-!      */
-!     int ind_js = 0;
-  
-!     /*
-!      * handle blocked cases correctly
-!      */
-!     int ind_keep_case_label = 0;
-  
-!     /*
-!      * handle C++ namespace
-!      */
-!     int ind_cpp_namespace = 0;
-  
-!     /*
-!      * handle continuation lines containing conditions of if(), for() and
-!      * while()
-!      */
-!     int ind_if_for_while = 0;
-  
-      pos_T	cur_curpos;
-      int		amount;
-      int		scope_amount;
---- 6637,6865 ----
-      return retval;
-  }
-  
-! /*
-!  * Parse 'cinoptions' and set the values in "curbuf".
-!  * Must be called when 'cinoptions', 'shiftwidth' and/or 'tabstop' changes.
-!  */
-!     void
-! parse_cino(buf)
-!     buf_T	*buf;
-  {
-!     char_u	*p;
-!     char_u	*l;
-!     char_u	*digits;
-!     int		n;
-!     int		divider;
-!     int		fraction = 0;
-!     int		sw = (int)get_sw_value(buf);
-  
-      /*
-!      * Set the default values.
-       */
-+     /* Spaces from a block's opening brace the prevailing indent for that
-+      * block should be. */
-+     buf->b_ind_level = sw;
-  
-!     /* Spaces from the edge of the line an open brace that's at the end of a
-!      * line is imagined to be. */
-!     buf->b_ind_open_imag = 0;
-  
-!     /* Spaces from the prevailing indent for a line that is not preceded by
-!      * an opening brace. */
-!     buf->b_ind_no_brace = 0;
-  
-!     /* Column where the first { of a function should be located }. */
-!     buf->b_ind_first_open = 0;
-  
-!     /* Spaces from the prevailing indent a leftmost open brace should be
-!      * located. */
-!     buf->b_ind_open_extra = 0;
-  
-!     /* Spaces from the matching open brace (real location for one at the left
-       * edge; imaginary location from one that ends a line) the matching close
-!      * brace should be located. */
-!     buf->b_ind_close_extra = 0;
-  
-!     /* Spaces from the edge of the line an open brace sitting in the leftmost
-!      * column is imagined to be. */
-!     buf->b_ind_open_left_imag = 0;
-  
-!     /* Spaces jump labels should be shifted to the left if N is non-negative,
-!      * otherwise the jump label will be put to column 1. */
-!     buf->b_ind_jump_label = -1;
-  
-!     /* Spaces from the switch() indent a "case xx" label should be located. */
-!     buf->b_ind_case = sw;
-  
-!     /* Spaces from the "case xx:" code after a switch() should be located. */
-!     buf->b_ind_case_code = sw;
-  
-!     /* Lineup break at end of case in switch() with case label. */
-!     buf->b_ind_case_break = 0;
-  
-!     /* Spaces from the class declaration indent a scope declaration label
-!      * should be located. */
-!     buf->b_ind_scopedecl = sw;
-  
-!     /* Spaces from the scope declaration label code should be located. */
-!     buf->b_ind_scopedecl_code = sw;
-  
-!     /* Amount K&R-style parameters should be indented. */
-!     buf->b_ind_param = sw;
-  
-!     /* Amount a function type spec should be indented. */
-!     buf->b_ind_func_type = sw;
-  
-!     /* Amount a cpp base class declaration or constructor initialization
-!      * should be indented. */
-!     buf->b_ind_cpp_baseclass = sw;
-  
-!     /* additional spaces beyond the prevailing indent a continuation line
-!      * should be located. */
-!     buf->b_ind_continuation = sw;
-  
-!     /* Spaces from the indent of the line with an unclosed parentheses. */
-!     buf->b_ind_unclosed = sw * 2;
-  
-!     /* Spaces from the indent of the line with an unclosed parentheses, which
-!      * itself is also unclosed. */
-!     buf->b_ind_unclosed2 = sw;
-  
-!     /* Suppress ignoring spaces from the indent of a line starting with an
-!      * unclosed parentheses. */
-!     buf->b_ind_unclosed_noignore = 0;
-  
-!     /* If the opening paren is the last nonwhite character on the line, and
-!      * b_ind_unclosed_wrapped is nonzero, use this indent relative to the outer
-!      * context (for very long lines). */
-!     buf->b_ind_unclosed_wrapped = 0;
-  
-!     /* Suppress ignoring white space when lining up with the character after
-!      * an unclosed parentheses. */
-!     buf->b_ind_unclosed_whiteok = 0;
-  
-!     /* Indent a closing parentheses under the line start of the matching
-!      * opening parentheses. */
-!     buf->b_ind_matching_paren = 0;
-  
-!     /* Indent a closing parentheses under the previous line. */
-!     buf->b_ind_paren_prev = 0;
-  
-!     /* Extra indent for comments. */
-!     buf->b_ind_comment = 0;
-  
-!     /* Spaces from the comment opener when there is nothing after it. */
-!     buf->b_ind_in_comment = 3;
-  
-!     /* Boolean: if non-zero, use b_ind_in_comment even if there is something
-!      * after the comment opener. */
-!     buf->b_ind_in_comment2 = 0;
-  
-!     /* Max lines to search for an open paren. */
-!     buf->b_ind_maxparen = 20;
-  
-!     /* Max lines to search for an open comment. */
-!     buf->b_ind_maxcomment = 70;
-  
-!     /* Handle braces for java code. */
-!     buf->b_ind_java = 0;
-  
-!     /* Not to confuse JS object properties with labels. */
-!     buf->b_ind_js = 0;
-  
-!     /* Handle blocked cases correctly. */
-!     buf->b_ind_keep_case_label = 0;
-  
-!     /* Handle C++ namespace. */
-!     buf->b_ind_cpp_namespace = 0;
-  
-!     /* Handle continuation lines containing conditions of if(), for() and
-!      * while(). */
-!     buf->b_ind_if_for_while = 0;
-! 
-!     for (p = buf->b_p_cino; *p; )
-!     {
-! 	l = p++;
-! 	if (*p == '-')
-! 	    ++p;
-! 	digits = p;	    /* remember where the digits start */
-! 	n = getdigits(&p);
-! 	divider = 0;
-! 	if (*p == '.')	    /* ".5s" means a fraction */
-! 	{
-! 	    fraction = atol((char *)++p);
-! 	    while (VIM_ISDIGIT(*p))
-! 	    {
-! 		++p;
-! 		if (divider)
-! 		    divider *= 10;
-! 		else
-! 		    divider = 10;
-! 	    }
-! 	}
-! 	if (*p == 's')	    /* "2s" means two times 'shiftwidth' */
-! 	{
-! 	    if (p == digits)
-! 		n = sw;	/* just "s" is one 'shiftwidth' */
-! 	    else
-! 	    {
-! 		n *= sw;
-! 		if (divider)
-! 		    n += (sw * fraction + divider / 2) / divider;
-! 	    }
-! 	    ++p;
-! 	}
-! 	if (l[1] == '-')
-! 	    n = -n;
-  
-+ 	/* When adding an entry here, also update the default 'cinoptions' in
-+ 	 * doc/indent.txt, and add explanation for it! */
-+ 	switch (*l)
-+ 	{
-+ 	    case '>': buf->b_ind_level = n; break;
-+ 	    case 'e': buf->b_ind_open_imag = n; break;
-+ 	    case 'n': buf->b_ind_no_brace = n; break;
-+ 	    case 'f': buf->b_ind_first_open = n; break;
-+ 	    case '{': buf->b_ind_open_extra = n; break;
-+ 	    case '}': buf->b_ind_close_extra = n; break;
-+ 	    case '^': buf->b_ind_open_left_imag = n; break;
-+ 	    case 'L': buf->b_ind_jump_label = n; break;
-+ 	    case ':': buf->b_ind_case = n; break;
-+ 	    case '=': buf->b_ind_case_code = n; break;
-+ 	    case 'b': buf->b_ind_case_break = n; break;
-+ 	    case 'p': buf->b_ind_param = n; break;
-+ 	    case 't': buf->b_ind_func_type = n; break;
-+ 	    case '/': buf->b_ind_comment = n; break;
-+ 	    case 'c': buf->b_ind_in_comment = n; break;
-+ 	    case 'C': buf->b_ind_in_comment2 = n; break;
-+ 	    case 'i': buf->b_ind_cpp_baseclass = n; break;
-+ 	    case '+': buf->b_ind_continuation = n; break;
-+ 	    case '(': buf->b_ind_unclosed = n; break;
-+ 	    case 'u': buf->b_ind_unclosed2 = n; break;
-+ 	    case 'U': buf->b_ind_unclosed_noignore = n; break;
-+ 	    case 'W': buf->b_ind_unclosed_wrapped = n; break;
-+ 	    case 'w': buf->b_ind_unclosed_whiteok = n; break;
-+ 	    case 'm': buf->b_ind_matching_paren = n; break;
-+ 	    case 'M': buf->b_ind_paren_prev = n; break;
-+ 	    case ')': buf->b_ind_maxparen = n; break;
-+ 	    case '*': buf->b_ind_maxcomment = n; break;
-+ 	    case 'g': buf->b_ind_scopedecl = n; break;
-+ 	    case 'h': buf->b_ind_scopedecl_code = n; break;
-+ 	    case 'j': buf->b_ind_java = n; break;
-+ 	    case 'J': buf->b_ind_js = n; break;
-+ 	    case 'l': buf->b_ind_keep_case_label = n; break;
-+ 	    case '#': buf->b_ind_hash_comment = n; break;
-+ 	    case 'N': buf->b_ind_cpp_namespace = n; break;
-+ 	    case 'k': buf->b_ind_if_for_while = n; break;
-+ 	}
-+ 	if (*p == ',')
-+ 	    ++p;
-+     }
-+ }
-+ 
-+     int
-+ get_c_indent()
-+ {
-      pos_T	cur_curpos;
-      int		amount;
-      int		scope_amount;
-***************
-*** 6868,6877 ****
-  
-      int		whilelevel;
-      linenr_T	lnum;
--     char_u	*options;
--     char_u	*digits;
--     int		fraction = 0;	    /* init for GCC */
--     int		divider;
-      int		n;
-      int		iscase;
-      int		lookfor_break;
---- 6894,6899 ----
-***************
-*** 6880,6962 ****
-      int		original_line_islabel;
-      int		added_to_amount = 0;
-  
-!     for (options = curbuf->b_p_cino; *options; )
-!     {
-! 	l = options++;
-! 	if (*options == '-')
-! 	    ++options;
-! 	digits = options;	    /* remember where the digits start */
-! 	n = getdigits(&options);
-! 	divider = 0;
-! 	if (*options == '.')	    /* ".5s" means a fraction */
-! 	{
-! 	    fraction = atol((char *)++options);
-! 	    while (VIM_ISDIGIT(*options))
-! 	    {
-! 		++options;
-! 		if (divider)
-! 		    divider *= 10;
-! 		else
-! 		    divider = 10;
-! 	    }
-! 	}
-! 	if (*options == 's')	    /* "2s" means two times 'shiftwidth' */
-! 	{
-! 	    if (options == digits)
-! 		n = sw;	/* just "s" is one 'shiftwidth' */
-! 	    else
-! 	    {
-! 		n *= sw;
-! 		if (divider)
-! 		    n += (sw * fraction + divider / 2) / divider;
-! 	    }
-! 	    ++options;
-! 	}
-! 	if (l[1] == '-')
-! 	    n = -n;
-! 	/* When adding an entry here, also update the default 'cinoptions' in
-! 	 * doc/indent.txt, and add explanation for it! */
-! 	switch (*l)
-! 	{
-! 	    case '>': ind_level = n; break;
-! 	    case 'e': ind_open_imag = n; break;
-! 	    case 'n': ind_no_brace = n; break;
-! 	    case 'f': ind_first_open = n; break;
-! 	    case '{': ind_open_extra = n; break;
-! 	    case '}': ind_close_extra = n; break;
-! 	    case '^': ind_open_left_imag = n; break;
-! 	    case 'L': ind_jump_label = n; break;
-! 	    case ':': ind_case = n; break;
-! 	    case '=': ind_case_code = n; break;
-! 	    case 'b': ind_case_break = n; break;
-! 	    case 'p': ind_param = n; break;
-! 	    case 't': ind_func_type = n; break;
-! 	    case '/': ind_comment = n; break;
-! 	    case 'c': ind_in_comment = n; break;
-! 	    case 'C': ind_in_comment2 = n; break;
-! 	    case 'i': ind_cpp_baseclass = n; break;
-! 	    case '+': ind_continuation = n; break;
-! 	    case '(': ind_unclosed = n; break;
-! 	    case 'u': ind_unclosed2 = n; break;
-! 	    case 'U': ind_unclosed_noignore = n; break;
-! 	    case 'W': ind_unclosed_wrapped = n; break;
-! 	    case 'w': ind_unclosed_whiteok = n; break;
-! 	    case 'm': ind_matching_paren = n; break;
-! 	    case 'M': ind_paren_prev = n; break;
-! 	    case ')': ind_maxparen = n; break;
-! 	    case '*': ind_maxcomment = n; break;
-! 	    case 'g': ind_scopedecl = n; break;
-! 	    case 'h': ind_scopedecl_code = n; break;
-! 	    case 'j': ind_java = n; break;
-! 	    case 'J': ind_js = n; break;
-! 	    case 'l': ind_keep_case_label = n; break;
-! 	    case '#': ind_hash_comment = n; break;
-! 	    case 'N': ind_cpp_namespace = n; break;
-! 	    case 'k': ind_if_for_while = n; break;
-! 	}
-! 	if (*options == ',')
-! 	    ++options;
-!     }
-  
-      /* remember where the cursor was when we started */
-      cur_curpos = curwin->w_cursor;
---- 6902,6909 ----
-      int		original_line_islabel;
-      int		added_to_amount = 0;
-  
-!     /* make a copy, value is changed below */
-!     int		ind_continuation = curbuf->b_ind_continuation;
-  
-      /* remember where the cursor was when we started */
-      cur_curpos = curwin->w_cursor;
-***************
-*** 6990,7011 ****
-  
-      curwin->w_cursor.col = 0;
-  
-!     original_line_islabel = cin_islabel(ind_maxcomment);  /* XXX */
-  
-      /*
-       * #defines and so on always go at the left when included in 'cinkeys'.
-       */
-      if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE)))
-!     {
-! 	amount = 0;
-!     }
-  
-      /*
-       * Is it a non-case label?	Then that goes at the left margin too unless:
-       *  - JS flag is set.
-       *  - 'L' item has a positive value.
-       */
-!     else if (original_line_islabel && !ind_js && ind_jump_label < 0)
-      {
-  	amount = 0;
-      }
---- 6937,6957 ----
-  
-      curwin->w_cursor.col = 0;
-  
-!     original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment);  /* XXX */
-  
-      /*
-       * #defines and so on always go at the left when included in 'cinkeys'.
-       */
-      if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE)))
-! 	amount = curbuf->b_ind_hash_comment;
-  
-      /*
-       * Is it a non-case label?	Then that goes at the left margin too unless:
-       *  - JS flag is set.
-       *  - 'L' item has a positive value.
-       */
-!     else if (original_line_islabel && !curbuf->b_ind_js
-! 					      && curbuf->b_ind_jump_label < 0)
-      {
-  	amount = 0;
-      }
-***************
-*** 7027,7033 ****
-       * comment, try using the 'comments' option.
-       */
-      else if (!cin_iscomment(theline)
-! 	    && (trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */
-      {
-  	int	lead_start_len = 2;
-  	int	lead_middle_len = 1;
---- 6973,6980 ----
-       * comment, try using the 'comments' option.
-       */
-      else if (!cin_iscomment(theline)
-! 	    && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL)
-! 	/* XXX */
-      {
-  	int	lead_start_len = 2;
-  	int	lead_middle_len = 1;
-***************
-*** 7161,7167 ****
-  	    }
-  	    if (amount == -1)			    /* use the comment opener */
-  	    {
-! 		if (!ind_in_comment2)
-  		{
-  		    start = ml_get(trypos->lnum);
-  		    look = start + trypos->col + 2; /* skip / and * */
---- 7108,7114 ----
-  	    }
-  	    if (amount == -1)			    /* use the comment opener */
-  	    {
-! 		if (!curbuf->b_ind_in_comment2)
-  		{
-  		    start = ml_get(trypos->lnum);
-  		    look = start + trypos->col + 2; /* skip / and * */
-***************
-*** 7170,7177 ****
-  		}
-  		getvcol(curwin, trypos, &col, NULL, NULL);
-  		amount = col;
-! 		if (ind_in_comment2 || *look == NUL)
-! 		    amount += ind_in_comment;
-  	    }
-  	}
-      }
---- 7117,7124 ----
-  		}
-  		getvcol(curwin, trypos, &col, NULL, NULL);
-  		amount = col;
-! 		if (curbuf->b_ind_in_comment2 || *look == NUL)
-! 		    amount += curbuf->b_ind_in_comment;
-  	    }
-  	}
-      }
-***************
-*** 7179,7187 ****
-      /*
-       * Are we inside parentheses or braces?
-       */						    /* XXX */
-!     else if (((trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL
-! 		&& ind_java == 0)
-! 	    || (tryposBrace = find_start_brace(ind_maxcomment)) != NULL
-  	    || trypos != NULL)
-      {
-        if (trypos != NULL && tryposBrace != NULL)
---- 7126,7136 ----
-      /*
-       * Are we inside parentheses or braces?
-       */						    /* XXX */
-!     else if (((trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment)) != NULL
-! 		&& curbuf->b_ind_java == 0)
-! 	    || (tryposBrace =
-! 			   find_start_brace(curbuf->b_ind_maxcomment)) != NULL
-  	    || trypos != NULL)
-      {
-        if (trypos != NULL && tryposBrace != NULL)
-***************
-*** 7202,7208 ****
-  	 * If the matching paren is more than one line away, use the indent of
-  	 * a previous non-empty line that matches the same paren.
-  	 */
-! 	if (theline[0] == ')' && ind_paren_prev)
-  	{
-  	    /* Line up with the start of the matching paren line. */
-  	    amount = get_indent_lnum(curwin->w_cursor.lnum - 1);  /* XXX */
---- 7151,7157 ----
-  	 * If the matching paren is more than one line away, use the indent of
-  	 * a previous non-empty line that matches the same paren.
-  	 */
-! 	if (theline[0] == ')' && curbuf->b_ind_paren_prev)
-  	{
-  	    /* Line up with the start of the matching paren line. */
-  	    amount = get_indent_lnum(curwin->w_cursor.lnum - 1);  /* XXX */
-***************
-*** 7221,7227 ****
-  		curwin->w_cursor.lnum = lnum;
-  
-  		/* Skip a comment. XXX */
-! 		if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
-  		{
-  		    lnum = trypos->lnum + 1;
-  		    continue;
---- 7170,7177 ----
-  		curwin->w_cursor.lnum = lnum;
-  
-  		/* Skip a comment. XXX */
-! 		if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
-! 								      != NULL)
-  		{
-  		    lnum = trypos->lnum + 1;
-  		    continue;
-***************
-*** 7229,7236 ****
-  
-  		/* XXX */
-  		if ((trypos = find_match_paren(
-! 				corr_ind_maxparen(ind_maxparen, &cur_curpos),
-! 						      ind_maxcomment)) != NULL
-  			&& trypos->lnum == our_paren_pos.lnum
-  			&& trypos->col == our_paren_pos.col)
-  		{
---- 7179,7186 ----
-  
-  		/* XXX */
-  		if ((trypos = find_match_paren(
-! 		       corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos),
-! 					    curbuf->b_ind_maxcomment)) != NULL
-  			&& trypos->lnum == our_paren_pos.lnum
-  			&& trypos->col == our_paren_pos.col)
-  		{
-***************
-*** 7258,7264 ****
-  	    int	    ignore_paren_col = 0;
-  	    int	    is_if_for_while = 0;
-  
-! 	    if (ind_if_for_while)
-  	    {
-  		/* Look for the outermost opening parenthesis on this line
-  		 * and check whether it belongs to an "if", "for" or "while". */
---- 7208,7214 ----
-  	    int	    ignore_paren_col = 0;
-  	    int	    is_if_for_while = 0;
-  
-! 	    if (curbuf->b_ind_if_for_while)
-  	    {
-  		/* Look for the outermost opening parenthesis on this line
-  		 * and check whether it belongs to an "if", "for" or "while". */
-***************
-*** 7273,7279 ****
-  		    curwin->w_cursor.lnum = outermost.lnum;
-  		    curwin->w_cursor.col = outermost.col;
-  
-! 		    trypos = find_match_paren(ind_maxparen, ind_maxcomment);
-  		} while (trypos && trypos->lnum == outermost.lnum);
-  
-  		curwin->w_cursor = cursor_save;
---- 7223,7230 ----
-  		    curwin->w_cursor.lnum = outermost.lnum;
-  		    curwin->w_cursor.col = outermost.col;
-  
-! 		    trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 						    curbuf->b_ind_maxcomment);
-  		} while (trypos && trypos->lnum == outermost.lnum);
-  
-  		curwin->w_cursor = cursor_save;
-***************
-*** 7284,7290 ****
-  		    cin_is_if_for_while_before_offset(line, &outermost.col);
-  	    }
-  
-! 	    amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
-  	    look = skipwhite(look);
-  	    if (*look == '(')
-  	    {
---- 7235,7242 ----
-  		    cin_is_if_for_while_before_offset(line, &outermost.col);
-  	    }
-  
-! 	    amount = skip_label(our_paren_pos.lnum, &look,
-! 						    curbuf->b_ind_maxcomment);
-  	    look = skipwhite(look);
-  	    if (*look == '(')
-  	    {
-***************
-*** 7298,7304 ****
-  		line = ml_get_curline();
-  		look_col = (int)(look - line);
-  		curwin->w_cursor.col = look_col + 1;
-! 		if ((trypos = findmatchlimit(NULL, ')', 0, ind_maxparen))
-  								      != NULL
-  			  && trypos->lnum == our_paren_pos.lnum
-  			  && trypos->col < our_paren_pos.col)
---- 7250,7257 ----
-  		line = ml_get_curline();
-  		look_col = (int)(look - line);
-  		curwin->w_cursor.col = look_col + 1;
-! 		if ((trypos = findmatchlimit(NULL, ')', 0,
-! 						      curbuf->b_ind_maxparen))
-  								      != NULL
-  			  && trypos->lnum == our_paren_pos.lnum
-  			  && trypos->col < our_paren_pos.col)
-***************
-*** 7307,7330 ****
-  		curwin->w_cursor.lnum = save_lnum;
-  		look = ml_get(our_paren_pos.lnum) + look_col;
-  	    }
-! 	    if (theline[0] == ')' || (ind_unclosed == 0 && is_if_for_while == 0)
-! 		    || (!ind_unclosed_noignore && *look == '('
-  						    && ignore_paren_col == 0))
-  	    {
-  		/*
-  		 * If we're looking at a close paren, line up right there;
-  		 * otherwise, line up with the next (non-white) character.
-! 		 * When ind_unclosed_wrapped is set and the matching paren is
-  		 * the last nonwhite character of the line, use either the
-  		 * indent of the current line or the indentation of the next
-! 		 * outer paren and add ind_unclosed_wrapped (for very long
-  		 * lines).
-  		 */
-  		if (theline[0] != ')')
-  		{
-  		    cur_amount = MAXCOL;
-  		    l = ml_get(our_paren_pos.lnum);
-! 		    if (ind_unclosed_wrapped
-  				       && cin_ends_in(l, (char_u *)"(", NULL))
-  		    {
-  			/* look for opening unmatched paren, indent one level
---- 7260,7284 ----
-  		curwin->w_cursor.lnum = save_lnum;
-  		look = ml_get(our_paren_pos.lnum) + look_col;
-  	    }
-! 	    if (theline[0] == ')' || (curbuf->b_ind_unclosed == 0
-! 						      && is_if_for_while == 0)
-! 		    || (!curbuf->b_ind_unclosed_noignore && *look == '('
-  						    && ignore_paren_col == 0))
-  	    {
-  		/*
-  		 * If we're looking at a close paren, line up right there;
-  		 * otherwise, line up with the next (non-white) character.
-! 		 * When b_ind_unclosed_wrapped is set and the matching paren is
-  		 * the last nonwhite character of the line, use either the
-  		 * indent of the current line or the indentation of the next
-! 		 * outer paren and add b_ind_unclosed_wrapped (for very long
-  		 * lines).
-  		 */
-  		if (theline[0] != ')')
-  		{
-  		    cur_amount = MAXCOL;
-  		    l = ml_get(our_paren_pos.lnum);
-! 		    if (curbuf->b_ind_unclosed_wrapped
-  				       && cin_ends_in(l, (char_u *)"(", NULL))
-  		    {
-  			/* look for opening unmatched paren, indent one level
-***************
-*** 7346,7354 ****
-  			}
-  
-  			our_paren_pos.col = 0;
-! 			amount += n * ind_unclosed_wrapped;
-  		    }
-! 		    else if (ind_unclosed_whiteok)
-  			our_paren_pos.col++;
-  		    else
-  		    {
---- 7300,7308 ----
-  			}
-  
-  			our_paren_pos.col = 0;
-! 			amount += n * curbuf->b_ind_unclosed_wrapped;
-  		    }
-! 		    else if (curbuf->b_ind_unclosed_whiteok)
-  			our_paren_pos.col++;
-  		    else
-  		    {
-***************
-*** 7374,7385 ****
-  		}
-  	    }
-  
-! 	    if (theline[0] == ')' && ind_matching_paren)
-  	    {
-  		/* Line up with the start of the matching paren line. */
-  	    }
-! 	    else if ((ind_unclosed == 0 && is_if_for_while == 0)
-! 		     || (!ind_unclosed_noignore
-  				    && *look == '(' && ignore_paren_col == 0))
-  	    {
-  		if (cur_amount != MAXCOL)
---- 7328,7339 ----
-  		}
-  	    }
-  
-! 	    if (theline[0] == ')' && curbuf->b_ind_matching_paren)
-  	    {
-  		/* Line up with the start of the matching paren line. */
-  	    }
-! 	    else if ((curbuf->b_ind_unclosed == 0 && is_if_for_while == 0)
-! 		     || (!curbuf->b_ind_unclosed_noignore
-  				    && *look == '(' && ignore_paren_col == 0))
-  	    {
-  		if (cur_amount != MAXCOL)
-***************
-*** 7387,7425 ****
-  	    }
-  	    else
-  	    {
-! 		/* Add ind_unclosed2 for each '(' before our matching one, but
-! 		 * ignore (void) before the line (ignore_paren_col). */
-  		col = our_paren_pos.col;
-  		while ((int)our_paren_pos.col > ignore_paren_col)
-  		{
-  		    --our_paren_pos.col;
-  		    switch (*ml_get_pos(&our_paren_pos))
-  		    {
-! 			case '(': amount += ind_unclosed2;
-  				  col = our_paren_pos.col;
-  				  break;
-! 			case ')': amount -= ind_unclosed2;
-  				  col = MAXCOL;
-  				  break;
-  		    }
-  		}
-  
-! 		/* Use ind_unclosed once, when the first '(' is not inside
-  		 * braces */
-  		if (col == MAXCOL)
-! 		    amount += ind_unclosed;
-  		else
-  		{
-  		    curwin->w_cursor.lnum = our_paren_pos.lnum;
-  		    curwin->w_cursor.col = col;
-! 		    if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL)
-! 			amount += ind_unclosed2;
-  		    else
-  		    {
-  			if (is_if_for_while)
-! 			    amount += ind_if_for_while;
-  			else
-! 			    amount += ind_unclosed;
-  		    }
-  		}
-  		/*
---- 7341,7380 ----
-  	    }
-  	    else
-  	    {
-! 		/* Add b_ind_unclosed2 for each '(' before our matching one,
-! 		 * but ignore (void) before the line (ignore_paren_col). */
-  		col = our_paren_pos.col;
-  		while ((int)our_paren_pos.col > ignore_paren_col)
-  		{
-  		    --our_paren_pos.col;
-  		    switch (*ml_get_pos(&our_paren_pos))
-  		    {
-! 			case '(': amount += curbuf->b_ind_unclosed2;
-  				  col = our_paren_pos.col;
-  				  break;
-! 			case ')': amount -= curbuf->b_ind_unclosed2;
-  				  col = MAXCOL;
-  				  break;
-  		    }
-  		}
-  
-! 		/* Use b_ind_unclosed once, when the first '(' is not inside
-  		 * braces */
-  		if (col == MAXCOL)
-! 		    amount += curbuf->b_ind_unclosed;
-  		else
-  		{
-  		    curwin->w_cursor.lnum = our_paren_pos.lnum;
-  		    curwin->w_cursor.col = col;
-! 		    if (find_match_paren(curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment) != NULL)
-! 			amount += curbuf->b_ind_unclosed2;
-  		    else
-  		    {
-  			if (is_if_for_while)
-! 			    amount += curbuf->b_ind_if_for_while;
-  			else
-! 			    amount += curbuf->b_ind_unclosed;
-  		    }
-  		}
-  		/*
-***************
-*** 7437,7443 ****
-  
-  	/* add extra indent for a comment */
-  	if (cin_iscomment(theline))
-! 	    amount += ind_comment;
-        }
-  
-        /*
---- 7392,7398 ----
-  
-  	/* add extra indent for a comment */
-  	if (cin_iscomment(theline))
-! 	    amount += curbuf->b_ind_comment;
-        }
-  
-        /*
-***************
-*** 7480,7487 ****
-  	     */
-  	    lnum = ourscope;
-  	    if (find_last_paren(start, '(', ')')
-! 		    && (trypos = find_match_paren(ind_maxparen,
-! 						     ind_maxcomment)) != NULL)
-  		lnum = trypos->lnum;
-  
-  	    /*
---- 7435,7442 ----
-  	     */
-  	    lnum = ourscope;
-  	    if (find_last_paren(start, '(', ')')
-! 		    && (trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  		lnum = trypos->lnum;
-  
-  	    /*
-***************
-*** 7490,7500 ****
-  	     *			ldfd) {
-  	     *		    }
-  	     */
-! 	    if (ind_js || (ind_keep_case_label
-  			   && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
-  		amount = get_indent();
-  	    else
-! 		amount = skip_label(lnum, &l, ind_maxcomment);
-  
-  	    start_brace = BRACE_AT_END;
-  	}
---- 7445,7455 ----
-  	     *			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, curbuf->b_ind_maxcomment);
-  
-  	    start_brace = BRACE_AT_END;
-  	}
-***************
-*** 7510,7516 ****
-  	     * they may want closing braces to line up with something
-  	     * other than the open brace.  indulge them, if so.
-  	     */
-! 	    amount += ind_close_extra;
-  	}
-  	else
-  	{
---- 7465,7471 ----
-  	     * they may want closing braces to line up with something
-  	     * other than the open brace.  indulge them, if so.
-  	     */
-! 	    amount += curbuf->b_ind_close_extra;
-  	}
-  	else
-  	{
-***************
-*** 7523,7536 ****
-  	    lookfor = LOOKFOR_INITIAL;
-  	    if (cin_iselse(theline))
-  		lookfor = LOOKFOR_IF;
-! 	    else if (cin_iswhileofdo(theline, cur_curpos.lnum, ind_maxparen))
-! 								    /* XXX */
-  		lookfor = LOOKFOR_DO;
-  	    if (lookfor != LOOKFOR_INITIAL)
-  	    {
-  		curwin->w_cursor.lnum = cur_curpos.lnum;
-! 		if (find_match(lookfor, ourscope, ind_maxparen,
-! 							ind_maxcomment) == OK)
-  		{
-  		    amount = get_indent();	/* XXX */
-  		    goto theend;
---- 7478,7491 ----
-  	    lookfor = LOOKFOR_INITIAL;
-  	    if (cin_iselse(theline))
-  		lookfor = LOOKFOR_IF;
-! 	    else if (cin_iswhileofdo(theline, cur_curpos.lnum,
-! 					    curbuf->b_ind_maxparen)) /* XXX */
-  		lookfor = LOOKFOR_DO;
-  	    if (lookfor != LOOKFOR_INITIAL)
-  	    {
-  		curwin->w_cursor.lnum = cur_curpos.lnum;
-! 		if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen,
-! 					      curbuf->b_ind_maxcomment) == OK)
-  		{
-  		    amount = get_indent();	/* XXX */
-  		    goto theend;
-***************
-*** 7547,7558 ****
-  	    /*
-  	     * if the '{' is  _really_ at the left margin, use the imaginary
-  	     * location of a left-margin brace.  Otherwise, correct the
-! 	     * location for ind_open_extra.
-  	     */
-  
-  	    if (start_brace == BRACE_IN_COL0)	    /* '{' is in column 0 */
-  	    {
-! 		amount = ind_open_left_imag;
-  		lookfor_cpp_namespace = TRUE;
-  	    }
-  	    else if (start_brace == BRACE_AT_START &&
---- 7502,7513 ----
-  	    /*
-  	     * if the '{' is  _really_ at the left margin, use the imaginary
-  	     * location of a left-margin brace.  Otherwise, correct the
-! 	     * location for b_ind_open_extra.
-  	     */
-  
-  	    if (start_brace == BRACE_IN_COL0)	    /* '{' is in column 0 */
-  	    {
-! 		amount = curbuf->b_ind_open_left_imag;
-  		lookfor_cpp_namespace = TRUE;
-  	    }
-  	    else if (start_brace == BRACE_AT_START &&
-***************
-*** 7565,7580 ****
-  	    {
-  		if (start_brace == BRACE_AT_END)    /* '{' is at end of line */
-  		{
-! 		    amount += ind_open_imag;
-  
-  		    l = skipwhite(ml_get_curline());
-  		    if (cin_is_cpp_namespace(l))
-! 			amount += ind_cpp_namespace;
-  		}
-  		else
-  		{
-! 		    /* Compensate for adding ind_open_extra later. */
-! 		    amount -= ind_open_extra;
-  		    if (amount < 0)
-  			amount = 0;
-  		}
---- 7520,7535 ----
-  	    {
-  		if (start_brace == BRACE_AT_END)    /* '{' is at end of line */
-  		{
-! 		    amount += curbuf->b_ind_open_imag;
-  
-  		    l = skipwhite(ml_get_curline());
-  		    if (cin_is_cpp_namespace(l))
-! 			amount += curbuf->b_ind_cpp_namespace;
-  		}
-  		else
-  		{
-! 		    /* Compensate for adding b_ind_open_extra later. */
-! 		    amount -= curbuf->b_ind_open_extra;
-  		    if (amount < 0)
-  			amount = 0;
-  		}
-***************
-*** 7585,7604 ****
-  	    if (cin_iscase(theline, FALSE))	/* it's a switch() label */
-  	    {
-  		lookfor = LOOKFOR_CASE;	/* find a previous switch() label */
-! 		amount += ind_case;
-  	    }
-  	    else if (cin_isscopedecl(theline))	/* private:, ... */
-  	    {
-  		lookfor = LOOKFOR_SCOPEDECL;	/* class decl is this block */
-! 		amount += ind_scopedecl;
-  	    }
-  	    else
-  	    {
-! 		if (ind_case_break && cin_isbreak(theline))	/* break; ... */
-  		    lookfor_break = TRUE;
-  
-  		lookfor = LOOKFOR_INITIAL;
-! 		amount += ind_level;	/* ind_level from start of block */
-  	    }
-  	    scope_amount = amount;
-  	    whilelevel = 0;
---- 7540,7561 ----
-  	    if (cin_iscase(theline, FALSE))	/* it's a switch() label */
-  	    {
-  		lookfor = LOOKFOR_CASE;	/* find a previous switch() label */
-! 		amount += curbuf->b_ind_case;
-  	    }
-  	    else if (cin_isscopedecl(theline))	/* private:, ... */
-  	    {
-  		lookfor = LOOKFOR_SCOPEDECL;	/* class decl is this block */
-! 		amount += curbuf->b_ind_scopedecl;
-  	    }
-  	    else
-  	    {
-! 		if (curbuf->b_ind_case_break && cin_isbreak(theline))
-! 		    /* break; ... */
-  		    lookfor_break = TRUE;
-  
-  		lookfor = LOOKFOR_INITIAL;
-! 		/* b_ind_level from start of block */
-! 		amount += curbuf->b_ind_level;
-  	    }
-  	    scope_amount = amount;
-  	    whilelevel = 0;
-***************
-*** 7636,7649 ****
-  		    {
-  			if (curwin->w_cursor.lnum == 0
-  				|| curwin->w_cursor.lnum
-! 						    < ourscope - ind_maxparen)
-  			{
-! 			    /* nothing found (abuse ind_maxparen as limit)
-! 			     * assume terminated line (i.e. a variable
-  			     * initialization) */
-  			    if (cont_amount > 0)
-  				amount = cont_amount;
-! 			    else if (!ind_js)
-  				amount += ind_continuation;
-  			    break;
-  			}
---- 7593,7606 ----
-  		    {
-  			if (curwin->w_cursor.lnum == 0
-  				|| curwin->w_cursor.lnum
-! 					  < ourscope - curbuf->b_ind_maxparen)
-  			{
-! 			    /* nothing found (abuse curbuf->b_ind_maxparen as
-! 			     * limit) assume terminated line (i.e. a variable
-  			     * initialization) */
-  			    if (cont_amount > 0)
-  				amount = cont_amount;
-! 			    else if (!curbuf->b_ind_js)
-  				amount += ind_continuation;
-  			    break;
-  			}
-***************
-*** 7654,7660 ****
-  			 * If we're in a comment now, skip to the start of the
-  			 * comment.
-  			 */
-! 			trypos = find_start_comment(ind_maxcomment);
-  			if (trypos != NULL)
-  			{
-  			    curwin->w_cursor.lnum = trypos->lnum + 1;
---- 7611,7617 ----
-  			 * If we're in a comment now, skip to the start of the
-  			 * comment.
-  			 */
-! 			trypos = find_start_comment(curbuf->b_ind_maxcomment);
-  			if (trypos != NULL)
-  			{
-  			    curwin->w_cursor.lnum = trypos->lnum + 1;
-***************
-*** 7680,7686 ****
-  			 */
-  			if (start_brace != BRACE_IN_COL0
-  				|| !cin_isfuncdecl(&l, curwin->w_cursor.lnum,
-! 					     0, ind_maxparen, ind_maxcomment))
-  			{
-  			    /* if the line is terminated with another ','
-  			     * it is a continued variable initialization.
---- 7637,7644 ----
-  			 */
-  			if (start_brace != BRACE_IN_COL0
-  				|| !cin_isfuncdecl(&l, curwin->w_cursor.lnum,
-! 					     0, curbuf->b_ind_maxparen,
-! 						    curbuf->b_ind_maxcomment))
-  			{
-  			    /* if the line is terminated with another ','
-  			     * it is a continued variable initialization.
-***************
-*** 7711,7721 ****
-  			     */					/* XXX */
-  			    trypos = NULL;
-  			    if (find_last_paren(l, '(', ')'))
-! 				trypos = find_match_paren(ind_maxparen,
-! 					ind_maxcomment);
-  
-  			    if (trypos == NULL && find_last_paren(l, '{', '}'))
-! 				trypos = find_start_brace(ind_maxcomment);
-  
-  			    if (trypos != NULL)
-  			    {
---- 7669,7681 ----
-  			     */					/* XXX */
-  			    trypos = NULL;
-  			    if (find_last_paren(l, '(', ')'))
-! 				trypos = find_match_paren(
-! 						curbuf->b_ind_maxparen,
-! 						curbuf->b_ind_maxcomment);
-  
-  			    if (trypos == NULL && find_last_paren(l, '{', '}'))
-! 				trypos = find_start_brace(
-! 						    curbuf->b_ind_maxcomment);
-  
-  			    if (trypos != NULL)
-  			    {
-***************
-*** 7750,7757 ****
-  			    amount = scope_amount;
-  			    if (theline[0] == '{')
-  			    {
-! 				amount += ind_open_extra;
-! 				added_to_amount = ind_open_extra;
-  			    }
-  			}
-  
---- 7710,7717 ----
-  			    amount = scope_amount;
-  			    if (theline[0] == '{')
-  			    {
-! 				amount += curbuf->b_ind_open_extra;
-! 				added_to_amount = curbuf->b_ind_open_extra;
-  			    }
-  			}
-  
-***************
-*** 7773,7779 ****
-  
-  			    /* If we're in a comment now, skip to the start of
-  			     * the comment. */
-! 			    trypos = find_start_comment(ind_maxcomment);
-  			    if (trypos != NULL)
-  			    {
-  				curwin->w_cursor.lnum = trypos->lnum + 1;
---- 7733,7740 ----
-  
-  			    /* If we're in a comment now, skip to the start of
-  			     * the comment. */
-! 			    trypos = find_start_comment(
-! 						    curbuf->b_ind_maxcomment);
-  			    if (trypos != NULL)
-  			    {
-  				curwin->w_cursor.lnum = trypos->lnum + 1;
-***************
-*** 7788,7794 ****
-  			    /* Finally the actual check for "namespace". */
-  			    if (cin_is_cpp_namespace(l))
-  			    {
-! 				amount += ind_cpp_namespace - added_to_amount;
-  				break;
-  			    }
-  
---- 7749,7756 ----
-  			    /* Finally the actual check for "namespace". */
-  			    if (cin_is_cpp_namespace(l))
-  			    {
-! 				amount += curbuf->b_ind_cpp_namespace
-! 							    - added_to_amount;
-  				break;
-  			    }
-  
-***************
-*** 7802,7808 ****
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */					    /* XXX */
-! 		if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
---- 7764,7771 ----
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */					    /* XXX */
-! 		if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
-! 								      != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
-***************
-*** 7856,7863 ****
-  			 * Check that this case label is not for another
-  			 * switch()
-  			 */				    /* XXX */
-! 			if ((trypos = find_start_brace(ind_maxcomment)) ==
-! 					     NULL || trypos->lnum == ourscope)
-  			{
-  			    amount = get_indent();	/* XXX */
-  			    break;
---- 7819,7827 ----
-  			 * Check that this case label is not for another
-  			 * switch()
-  			 */				    /* XXX */
-! 			if ((trypos = find_start_brace(
-! 					    curbuf->b_ind_maxcomment)) == NULL
-! 						  || trypos->lnum == ourscope)
-  			{
-  			    amount = get_indent();	/* XXX */
-  			    break;
-***************
-*** 7900,7908 ****
-  			if (l != NULL && cin_is_cinword(l))
-  			{
-  			    if (theline[0] == '{')
-! 				amount += ind_open_extra;
-  			    else
-! 				amount += ind_level + ind_no_brace;
-  			}
-  			break;
-  		    }
---- 7864,7873 ----
-  			if (l != NULL && cin_is_cinword(l))
-  			{
-  			    if (theline[0] == '{')
-! 				amount += curbuf->b_ind_open_extra;
-  			    else
-! 				amount += curbuf->b_ind_level
-! 						     + curbuf->b_ind_no_brace;
-  			}
-  			break;
-  		    }
-***************
-*** 7916,7923 ****
-  		     * ->   y = 1;
-  		     */
-  		    scope_amount = get_indent() + (iscase    /* XXX */
-! 					? ind_case_code : ind_scopedecl_code);
-! 		    lookfor = ind_case_break ? LOOKFOR_NOBREAK : LOOKFOR_ANY;
-  		    continue;
-  		}
-  
---- 7881,7890 ----
-  		     * ->   y = 1;
-  		     */
-  		    scope_amount = get_indent() + (iscase    /* XXX */
-! 					? curbuf->b_ind_case_code
-! 					: curbuf->b_ind_scopedecl_code);
-! 		    lookfor = curbuf->b_ind_case_break
-! 					      ? LOOKFOR_NOBREAK : LOOKFOR_ANY;
-  		    continue;
-  		}
-  
-***************
-*** 7928,7934 ****
-  		if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
-  		{
-  		    if (find_last_paren(l, '{', '}') && (trypos =
-! 				    find_start_brace(ind_maxcomment)) != NULL)
-  		    {
-  			curwin->w_cursor.lnum = trypos->lnum + 1;
-  			curwin->w_cursor.col = 0;
---- 7895,7901 ----
-  		if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
-  		{
-  		    if (find_last_paren(l, '{', '}') && (trypos =
-! 			  find_start_brace(curbuf->b_ind_maxcomment)) != NULL)
-  		    {
-  			curwin->w_cursor.lnum = trypos->lnum + 1;
-  			curwin->w_cursor.col = 0;
-***************
-*** 7939,7945 ****
-  		/*
-  		 * Ignore jump labels with nothing after them.
-  		 */
-! 		if (!ind_js && cin_islabel(ind_maxcomment))
-  		{
-  		    l = after_label(ml_get_curline());
-  		    if (l == NULL || cin_nocode(l))
---- 7906,7912 ----
-  		/*
-  		 * Ignore jump labels with nothing after them.
-  		 */
-! 		if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment))
-  		{
-  		    l = after_label(ml_get_curline());
-  		    if (l == NULL || cin_nocode(l))
-***************
-*** 7962,7968 ****
-  		 * constructor initialization?
-  		 */						    /* XXX */
-  		n = FALSE;
-! 		if (lookfor != LOOKFOR_TERM && ind_cpp_baseclass > 0)
-  		{
-  		    n = cin_is_cpp_baseclass(&col);
-  		    l = ml_get_curline();
---- 7929,7935 ----
-  		 * constructor initialization?
-  		 */						    /* XXX */
-  		n = FALSE;
-! 		if (lookfor != LOOKFOR_TERM && curbuf->b_ind_cpp_baseclass > 0)
-  		{
-  		    n = cin_is_cpp_baseclass(&col);
-  		    l = ml_get_curline();
-***************
-*** 7985,7992 ****
-  		    }
-  		    else
-  								     /* XXX */
-! 			amount = get_baseclass_amount(col, ind_maxparen,
-! 					   ind_maxcomment, ind_cpp_baseclass);
-  		    break;
-  		}
-  		else if (lookfor == LOOKFOR_CPP_BASECLASS)
---- 7952,7961 ----
-  		    }
-  		    else
-  								     /* XXX */
-! 			amount = get_baseclass_amount(col,
-! 						   curbuf->b_ind_maxparen,
-! 						   curbuf->b_ind_maxcomment,
-! 						   curbuf->b_ind_cpp_baseclass);
-  		    break;
-  		}
-  		else if (lookfor == LOOKFOR_CPP_BASECLASS)
-***************
-*** 8029,8036 ****
-  		     */
-  		    (void)find_last_paren(l, '(', ')');
-  		    trypos = find_match_paren(
-! 				 corr_ind_maxparen(ind_maxparen, &cur_curpos),
-! 							      ind_maxcomment);
-  
-  		    /*
-  		     * If we are looking for ',', we also look for matching
---- 7998,8005 ----
-  		     */
-  		    (void)find_last_paren(l, '(', ')');
-  		    trypos = find_match_paren(
-! 				 corr_ind_maxparen(curbuf->b_ind_maxparen,
-! 				      &cur_curpos), curbuf->b_ind_maxcomment);
-  
-  		    /*
-  		     * If we are looking for ',', we also look for matching
-***************
-*** 8038,8044 ****
-  		     */
-  		    if (trypos == NULL && terminated == ','
-  					      && find_last_paren(l, '{', '}'))
-! 			trypos = find_start_brace(ind_maxcomment);
-  
-  		    if (trypos != NULL)
-  		    {
---- 8007,8013 ----
-  		     */
-  		    if (trypos == NULL && terminated == ','
-  					      && find_last_paren(l, '{', '}'))
-! 			trypos = find_start_brace(curbuf->b_ind_maxcomment);
-  
-  		    if (trypos != NULL)
-  		    {
-***************
-*** 8081,8089 ****
-  		     * Get indent and pointer to text for current line,
-  		     * ignoring any jump label.	    XXX
-  		     */
-! 		    if (!ind_js)
-  			cur_amount = skip_label(curwin->w_cursor.lnum,
-! 							  &l, ind_maxcomment);
-  		    else
-  			cur_amount = get_indent();
-  		    /*
---- 8050,8058 ----
-  		     * 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, curbuf->b_ind_maxcomment);
-  		    else
-  			cur_amount = get_indent();
-  		    /*
-***************
-*** 8098,8113 ****
-  		    {
-  			amount = cur_amount;
-  			/*
-! 			 * Only add ind_open_extra when the current line
-  			 * doesn't start with a '{', which must have a match
-  			 * in the same line (scope is the same).  Probably:
-  			 *	{ 1, 2 },
-  			 * ->	{ 3, 4 }
-  			 */
-  			if (*skipwhite(l) != '{')
-! 			    amount += ind_open_extra;
-  
-! 			if (ind_cpp_baseclass)
-  			{
-  			    /* have to look back, whether it is a cpp base
-  			     * class declaration or initialization */
---- 8067,8082 ----
-  		    {
-  			amount = cur_amount;
-  			/*
-! 			 * Only add b_ind_open_extra when the current line
-  			 * doesn't start with a '{', which must have a match
-  			 * in the same line (scope is the same).  Probably:
-  			 *	{ 1, 2 },
-  			 * ->	{ 3, 4 }
-  			 */
-  			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 */
-***************
-*** 8155,8164 ****
-  			 */
-  			amount = cur_amount;
-  			if (theline[0] == '{')
-! 			    amount += ind_open_extra;
-  			if (lookfor != LOOKFOR_TERM)
-  			{
-! 			    amount += ind_level + ind_no_brace;
-  			    break;
-  			}
-  
---- 8124,8134 ----
-  			 */
-  			amount = cur_amount;
-  			if (theline[0] == '{')
-! 			    amount += curbuf->b_ind_open_extra;
-  			if (lookfor != LOOKFOR_TERM)
-  			{
-! 			    amount += curbuf->b_ind_level
-! 						     + curbuf->b_ind_no_brace;
-  			    break;
-  			}
-  
-***************
-*** 8192,8201 ****
-  				curwin->w_cursor.col =
-  					  (colnr_T)(l - ml_get_curline()) + 1;
-  
-! 			    if ((trypos = find_start_brace(ind_maxcomment))
-! 								       == NULL
-  				    || find_match(LOOKFOR_IF, trypos->lnum,
-! 					ind_maxparen, ind_maxcomment) == FAIL)
-  				break;
-  			}
-  		    }
---- 8162,8172 ----
-  				curwin->w_cursor.col =
-  					  (colnr_T)(l - ml_get_curline()) + 1;
-  
-! 			    if ((trypos = find_start_brace(
-! 					    curbuf->b_ind_maxcomment)) == NULL
-  				    || find_match(LOOKFOR_IF, trypos->lnum,
-! 					    curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment) == FAIL)
-  				break;
-  			}
-  		    }
-***************
-*** 8232,8238 ****
-  			     * enumerations/initializations. */
-  			    if (terminated == ',')
-  			    {
-! 				if (ind_cpp_baseclass == 0)
-  				    break;
-  
-  				lookfor = LOOKFOR_CPP_BASECLASS;
---- 8203,8209 ----
-  			     * enumerations/initializations. */
-  			    if (terminated == ',')
-  			    {
-! 				if (curbuf->b_ind_cpp_baseclass == 0)
-  				    break;
-  
-  				lookfor = LOOKFOR_CPP_BASECLASS;
-***************
-*** 8290,8297 ****
-  		 * If so: Ignore until the matching "do".
-  		 */
-  							/* XXX */
-! 		else if (cin_iswhileofdo_end(terminated, ind_maxparen,
-! 							      ind_maxcomment))
-  		{
-  		    /*
-  		     * Found an unterminated line after a while ();, line up
---- 8261,8268 ----
-  		 * If so: Ignore until the matching "do".
-  		 */
-  							/* XXX */
-! 		else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen,
-! 						    curbuf->b_ind_maxcomment))
-  		{
-  		    /*
-  		     * Found an unterminated line after a while ();, line up
-***************
-*** 8315,8321 ****
-  			lookfor = LOOKFOR_TERM;
-  			amount = get_indent();	    /* XXX */
-  			if (theline[0] == '{')
-! 			    amount += ind_open_extra;
-  		    }
-  		    ++whilelevel;
-  		}
---- 8286,8292 ----
-  			lookfor = LOOKFOR_TERM;
-  			amount = get_indent();	    /* XXX */
-  			if (theline[0] == '{')
-! 			    amount += curbuf->b_ind_open_extra;
-  		    }
-  		    ++whilelevel;
-  		}
-***************
-*** 8408,8415 ****
-  term_again:
-  			l = ml_get_curline();
-  			if (find_last_paren(l, '(', ')')
-! 				&& (trypos = find_match_paren(ind_maxparen,
-! 						     ind_maxcomment)) != NULL)
-  			{
-  			    /*
-  			     * Check if we are on a case label now.  This is
---- 8379,8387 ----
-  term_again:
-  			l = ml_get_curline();
-  			if (find_last_paren(l, '(', ')')
-! 				&& (trypos = find_match_paren(
-! 					   curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  			{
-  			    /*
-  			     * Check if we are on a case label now.  This is
-***************
-*** 8436,8456 ****
-  			 *	stat;
-  			 * }
-  			 */
-! 			iscase = (ind_keep_case_label && cin_iscase(l, FALSE));
-  
-  			/*
-  			 * Get indent and pointer to text for current line,
-  			 * ignoring any jump label.
-  			 */
-  			amount = skip_label(curwin->w_cursor.lnum,
-! 							  &l, ind_maxcomment);
-  
-  			if (theline[0] == '{')
-! 			    amount += ind_open_extra;
-! 			/* See remark above: "Only add ind_open_extra.." */
-  			l = skipwhite(l);
-  			if (*l == '{')
-! 			    amount -= ind_open_extra;
-  			lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM;
-  
-  			/*
---- 8408,8429 ----
-  			 *	stat;
-  			 * }
-  			 */
-! 			iscase = (curbuf->b_ind_keep_case_label
-! 						     && cin_iscase(l, FALSE));
-  
-  			/*
-  			 * Get indent and pointer to text for current line,
-  			 * ignoring any jump label.
-  			 */
-  			amount = skip_label(curwin->w_cursor.lnum,
-! 						&l, curbuf->b_ind_maxcomment);
-  
-  			if (theline[0] == '{')
-! 			    amount += curbuf->b_ind_open_extra;
-! 			/* See remark above: "Only add b_ind_open_extra.." */
-  			l = skipwhite(l);
-  			if (*l == '{')
-! 			    amount -= curbuf->b_ind_open_extra;
-  			lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM;
-  
-  			/*
-***************
-*** 8466,8475 ****
-  				&& cin_iselse(l)
-  				&& whilelevel == 0)
-  			{
-! 			    if ((trypos = find_start_brace(ind_maxcomment))
-! 								       == NULL
-  				    || find_match(LOOKFOR_IF, trypos->lnum,
-! 					ind_maxparen, ind_maxcomment) == FAIL)
-  				break;
-  			    continue;
-  			}
---- 8439,8449 ----
-  				&& cin_iselse(l)
-  				&& whilelevel == 0)
-  			{
-! 			    if ((trypos = find_start_brace(
-! 					    curbuf->b_ind_maxcomment)) == NULL
-  				    || find_match(LOOKFOR_IF, trypos->lnum,
-! 					    curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment) == FAIL)
-  				break;
-  			    continue;
-  			}
-***************
-*** 8480,8487 ****
-  			 */
-  			l = ml_get_curline();
-  			if (find_last_paren(l, '{', '}')
-! 				&& (trypos = find_start_brace(ind_maxcomment))
-! 							    != NULL) /* XXX */
-  			{
-  			    curwin->w_cursor = *trypos;
-  			    /* if not "else {" check for terminated again */
---- 8454,8461 ----
-  			 */
-  			l = ml_get_curline();
-  			if (find_last_paren(l, '{', '}')
-! 				&& (trypos = find_start_brace(
-! 				 curbuf->b_ind_maxcomment)) != NULL) /* XXX */
-  			{
-  			    curwin->w_cursor = *trypos;
-  			    /* if not "else {" check for terminated again */
-***************
-*** 8500,8510 ****
-  
-        /* add extra indent for a comment */
-        if (cin_iscomment(theline))
-! 	  amount += ind_comment;
-  
-        /* subtract extra left-shift for jump labels */
-!       if (ind_jump_label > 0 && original_line_islabel)
-! 	  amount -= ind_jump_label;
-      }
-  
-      /*
---- 8474,8484 ----
-  
-        /* add extra indent for a comment */
-        if (cin_iscomment(theline))
-! 	  amount += curbuf->b_ind_comment;
-  
-        /* subtract extra left-shift for jump labels */
-!       if (curbuf->b_ind_jump_label > 0 && original_line_islabel)
-! 	  amount -= curbuf->b_ind_jump_label;
-      }
-  
-      /*
-***************
-*** 8525,8531 ****
-  
-  	if (theline[0] == '{')
-  	{
-! 	    amount = ind_first_open;
-  	}
-  
-  	/*
---- 8499,8505 ----
-  
-  	if (theline[0] == '{')
-  	{
-! 	    amount = curbuf->b_ind_first_open;
-  	}
-  
-  	/*
-***************
-*** 8543,8552 ****
-  		&& !cin_ends_in(theline, (char_u *)",", NULL)
-  		&& cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
-  				  cur_curpos.lnum + 1,
-! 				  ind_maxparen, ind_maxcomment)
-  		&& !cin_isterminated(theline, FALSE, TRUE))
-  	{
-! 	    amount = ind_func_type;
-  	}
-  	else
-  	{
---- 8517,8527 ----
-  		&& !cin_ends_in(theline, (char_u *)",", NULL)
-  		&& cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
-  				  cur_curpos.lnum + 1,
-! 				  curbuf->b_ind_maxparen,
-! 				  curbuf->b_ind_maxcomment)
-  		&& !cin_isterminated(theline, FALSE, TRUE))
-  	{
-! 	    amount = curbuf->b_ind_func_type;
-  	}
-  	else
-  	{
-***************
-*** 8565,8571 ****
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */						/* XXX */
-! 		if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
---- 8540,8547 ----
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */						/* XXX */
-! 		if ((trypos = find_start_comment(
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
-***************
-*** 8577,8583 ****
-  		 * constructor initialization?
-  		 */						    /* XXX */
-  		n = FALSE;
-! 		if (ind_cpp_baseclass != 0 && theline[0] != '{')
-  		{
-  		    n = cin_is_cpp_baseclass(&col);
-  		    l = ml_get_curline();
---- 8553,8559 ----
-  		 * constructor initialization?
-  		 */						    /* XXX */
-  		n = FALSE;
-! 		if (curbuf->b_ind_cpp_baseclass != 0 && theline[0] != '{')
-  		{
-  		    n = cin_is_cpp_baseclass(&col);
-  		    l = ml_get_curline();
-***************
-*** 8585,8592 ****
-  		if (n)
-  		{
-  								     /* XXX */
-! 		    amount = get_baseclass_amount(col, ind_maxparen,
-! 					   ind_maxcomment, ind_cpp_baseclass);
-  		    break;
-  		}
-  
---- 8561,8569 ----
-  		if (n)
-  		{
-  								     /* XXX */
-! 		    amount = get_baseclass_amount(col, curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment,
-! 					   curbuf->b_ind_cpp_baseclass);
-  		    break;
-  		}
-  
-***************
-*** 8617,8624 ****
-  		{
-  		    /* take us back to opening paren */
-  		    if (find_last_paren(l, '(', ')')
-! 			    && (trypos = find_match_paren(ind_maxparen,
-! 						     ind_maxcomment)) != NULL)
-  			curwin->w_cursor = *trypos;
-  
-  		    /* For a line ending in ',' that is a continuation line go
---- 8594,8602 ----
-  		{
-  		    /* take us back to opening paren */
-  		    if (find_last_paren(l, '(', ')')
-! 			    && (trypos = find_match_paren(
-! 					   curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  			curwin->w_cursor = *trypos;
-  
-  		    /* For a line ending in ',' that is a continuation line go
-***************
-*** 8650,8656 ****
-  		 * not in a comment, put it the left margin.
-  		 */
-  		if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0,
-! 				   ind_maxparen, ind_maxcomment))  /* XXX */
-  		    break;
-  		l = ml_get_curline();
-  
---- 8628,8635 ----
-  		 * not in a comment, put it the left margin.
-  		 */
-  		if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0,
-! 				   curbuf->b_ind_maxparen,
-! 				   curbuf->b_ind_maxcomment))  /* XXX */
-  		    break;
-  		l = ml_get_curline();
-  
-***************
-*** 8699,8707 ****
-  		 * parameters.
-  		 */
-  		if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0,
-! 				   ind_maxparen, ind_maxcomment))
-  		{
-! 		    amount = ind_param;
-  		    break;
-  		}
-  
---- 8678,8687 ----
-  		 * parameters.
-  		 */
-  		if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0,
-! 				   curbuf->b_ind_maxparen,
-! 				   curbuf->b_ind_maxcomment))
-  		{
-! 		    amount = curbuf->b_ind_param;
-  		    break;
-  		}
-  
-***************
-*** 8730,8737 ****
-  		 */
-  		find_last_paren(l, '(', ')');
-  
-! 		if ((trypos = find_match_paren(ind_maxparen,
-! 						     ind_maxcomment)) != NULL)
-  		    curwin->w_cursor = *trypos;
-  		amount = get_indent();	    /* XXX */
-  		break;
---- 8710,8717 ----
-  		 */
-  		find_last_paren(l, '(', ')');
-  
-! 		if ((trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  		    curwin->w_cursor = *trypos;
-  		amount = get_indent();	    /* XXX */
-  		break;
-***************
-*** 8739,8745 ****
-  
-  	    /* add extra indent for a comment */
-  	    if (cin_iscomment(theline))
-! 		amount += ind_comment;
-  
-  	    /* add extra indent if the previous line ended in a backslash:
-  	     *	      "asdfasdf\
---- 8719,8725 ----
-  
-  	    /* add extra indent for a comment */
-  	    if (cin_iscomment(theline))
-! 		amount += curbuf->b_ind_comment;
-  
-  	    /* add extra indent if the previous line ended in a backslash:
-  	     *	      "asdfasdf\
-*** ../vim-7.4.068/src/ops.c	2013-11-04 01:41:11.000000000 +0100
---- src/ops.c	2013-11-05 06:13:27.000000000 +0100
-***************
-*** 336,342 ****
-  {
-      int		count;
-      int		i, j;
-!     int		p_sw = (int)get_sw_value();
-  
-      count = get_indent();	/* get current indent */
-  
---- 336,342 ----
-  {
-      int		count;
-      int		i, j;
-!     int		p_sw = (int)get_sw_value(curbuf);
-  
-      count = get_indent();	/* get current indent */
-  
-***************
-*** 392,398 ****
-      int			total;
-      char_u		*newp, *oldp;
-      int			oldcol = curwin->w_cursor.col;
-!     int			p_sw = (int)get_sw_value();
-      int			p_ts = (int)curbuf->b_p_ts;
-      struct block_def	bd;
-      int			incr;
---- 392,398 ----
-      int			total;
-      char_u		*newp, *oldp;
-      int			oldcol = curwin->w_cursor.col;
-!     int			p_sw = (int)get_sw_value(curbuf);
-      int			p_ts = (int)curbuf->b_p_ts;
-      struct block_def	bd;
-      int			incr;
-***************
-*** 4046,4052 ****
-  #  endif
-  # endif
-  # ifdef FEAT_CINDENT
-! 	(curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE))
-  # endif
-  	;
-  }
---- 4046,4053 ----
-  #  endif
-  # endif
-  # ifdef FEAT_CINDENT
-! 	(curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE)
-! 					   && curbuf->b_ind_hash_comment == 0)
-  # endif
-  	;
-  }
-*** ../vim-7.4.068/src/proto/misc1.pro	2013-11-04 02:53:46.000000000 +0100
---- src/proto/misc1.pro	2013-11-05 06:08:46.000000000 +0100
-***************
-*** 84,89 ****
---- 84,90 ----
-  int cin_islabel __ARGS((int ind_maxcomment));
-  int cin_iscase __ARGS((char_u *s, int strict));
-  int cin_isscopedecl __ARGS((char_u *s));
-+ void parse_cino __ARGS((buf_T *buf));
-  int get_c_indent __ARGS((void));
-  int get_expr_indent __ARGS((void));
-  int get_lisp_indent __ARGS((void));
-*** ../vim-7.4.068/src/proto/option.pro	2013-08-10 13:37:22.000000000 +0200
---- src/proto/option.pro	2013-11-05 06:14:46.000000000 +0100
-***************
-*** 59,65 ****
-  void save_file_ff __ARGS((buf_T *buf));
-  int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
-  int check_ff_value __ARGS((char_u *p));
-! long get_sw_value __ARGS((void));
-  long get_sts_value __ARGS((void));
-  void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit));
-  /* vim: set ft=c : */
---- 59,65 ----
-  void save_file_ff __ARGS((buf_T *buf));
-  int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
-  int check_ff_value __ARGS((char_u *p));
-! long get_sw_value __ARGS((buf_T *buf));
-  long get_sts_value __ARGS((void));
-  void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit));
-  /* vim: set ft=c : */
-*** ../vim-7.4.068/src/structs.h	2013-07-03 15:35:59.000000000 +0200
---- src/structs.h	2013-11-05 05:08:26.000000000 +0100
-***************
-*** 1633,1638 ****
---- 1633,1677 ----
-  
-      /* end of buffer options */
-  
-+ #ifdef FEAT_CINDENT
-+     /* values set from b_p_cino */
-+     int		b_ind_level;
-+     int		b_ind_open_imag;
-+     int		b_ind_no_brace;
-+     int		b_ind_first_open;
-+     int		b_ind_open_extra;
-+     int		b_ind_close_extra;
-+     int		b_ind_open_left_imag;
-+     int		b_ind_jump_label;
-+     int		b_ind_case;
-+     int		b_ind_case_code;
-+     int		b_ind_case_break;
-+     int		b_ind_param;
-+     int		b_ind_func_type;
-+     int		b_ind_comment;
-+     int		b_ind_in_comment;
-+     int		b_ind_in_comment2;
-+     int		b_ind_cpp_baseclass;
-+     int		b_ind_continuation;
-+     int		b_ind_unclosed;
-+     int		b_ind_unclosed2;
-+     int		b_ind_unclosed_noignore;
-+     int		b_ind_unclosed_wrapped;
-+     int		b_ind_unclosed_whiteok;
-+     int		b_ind_matching_paren;
-+     int		b_ind_paren_prev;
-+     int		b_ind_maxparen;
-+     int		b_ind_maxcomment;
-+     int		b_ind_scopedecl;
-+     int		b_ind_scopedecl_code;
-+     int		b_ind_java;
-+     int		b_ind_js;
-+     int		b_ind_keep_case_label;
-+     int		b_ind_hash_comment;
-+     int		b_ind_cpp_namespace;
-+     int		b_ind_if_for_while;
-+ #endif
-+ 
-      linenr_T	b_no_eol_lnum;	/* non-zero lnum when last line of next binary
-  				 * write should not have an end-of-line */
-  
-*** ../vim-7.4.068/src/option.c	2013-07-17 21:39:13.000000000 +0200
---- src/option.c	2013-11-05 06:58:04.000000000 +0100
-***************
-*** 5372,5377 ****
---- 5372,5378 ----
-  #ifdef FEAT_CINDENT
-      check_string_option(&buf->b_p_cink);
-      check_string_option(&buf->b_p_cino);
-+     parse_cino(buf);
-  #endif
-  #ifdef FEAT_AUTOCMD
-      check_string_option(&buf->b_p_ft);
-***************
-*** 6990,6995 ****
---- 6991,7005 ----
-      }
-  #endif
-  
-+ #ifdef FEAT_CINDENT
-+     /* 'cinoptions' */
-+     else if (gvarp == &p_cino)
-+     {
-+ 	/* TODO: recognize errors */
-+ 	parse_cino(curbuf);
-+     }
-+ #endif
-+ 
-      /* Options that are a list of flags. */
-      else
-      {
-***************
-*** 8338,8351 ****
-  	    curwin->w_p_fdc = 12;
-  	}
-      }
-  
-      /* 'shiftwidth' or 'tabstop' */
-      else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts)
-      {
-  	if (foldmethodIsIndent(curwin))
-  	    foldUpdateAll(curwin);
-      }
-! #endif /* FEAT_FOLDING */
-  
-  #ifdef FEAT_MBYTE
-      /* 'maxcombine' */
---- 8348,8371 ----
-  	    curwin->w_p_fdc = 12;
-  	}
-      }
-+ #endif /* FEAT_FOLDING */
-  
-+ #if defined(FEAT_FOLDING) || defined(FEAT_CINDENT)
-      /* 'shiftwidth' or 'tabstop' */
-      else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts)
-      {
-+ # ifdef FEAT_FOLDING
-  	if (foldmethodIsIndent(curwin))
-  	    foldUpdateAll(curwin);
-+ # endif
-+ # ifdef FEAT_CINDENT
-+ 	/* When 'shiftwidth' changes, or it's zero and 'tabstop' changes:
-+ 	 * parse 'cinoptions'. */
-+ 	if (pp == &curbuf->b_p_sw || curbuf->b_p_sw == 0)
-+ 	    parse_cino(curbuf);
-+ # endif
-      }
-! #endif
-  
-  #ifdef FEAT_MBYTE
-      /* 'maxcombine' */
-***************
-*** 11729,11737 ****
-   * 'tabstop' value when 'shiftwidth' is zero.
-   */
-      long
-! get_sw_value()
-  {
-!     return curbuf->b_p_sw ? curbuf->b_p_sw : curbuf->b_p_ts;
-  }
-  
-  /*
---- 11749,11758 ----
-   * 'tabstop' value when 'shiftwidth' is zero.
-   */
-      long
-! get_sw_value(buf)
-!     buf_T *buf;
-  {
-!     return buf->b_p_sw ? buf->b_p_sw : buf->b_p_ts;
-  }
-  
-  /*
-***************
-*** 11741,11747 ****
-      long
-  get_sts_value()
-  {
-!     return curbuf->b_p_sts < 0 ? get_sw_value() : curbuf->b_p_sts;
-  }
-  
-  /*
---- 11762,11768 ----
-      long
-  get_sts_value()
-  {
-!     return curbuf->b_p_sts < 0 ? get_sw_value(curbuf) : curbuf->b_p_sts;
-  }
-  
-  /*
-*** ../vim-7.4.068/src/version.c	2013-11-04 04:57:46.000000000 +0100
---- src/version.c	2013-11-05 04:55:36.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     69,
-  /**/
-
--- 
-A special cleaning ordinance bans housewives from hiding dirt and dust under a
-rug in a dwelling.
-		[real standing law in Pennsylvania, 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    ///
diff --git a/7.4.070 b/7.4.070
deleted file mode 100644
index 749b744..0000000
--- a/7.4.070
+++ /dev/null
@@ -1,47 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.070
-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.070 (after 7.4.069)
-Problem:    Can't compile with tiny features. (Tony Mechelynck)
-Solution:   Add #ifdef.
-Files:      src/buffer.c
-    
-
-*** ../vim-7.4.069/src/buffer.c	2013-11-05 07:12:59.000000000 +0100
---- src/buffer.c	2013-11-05 17:37:27.000000000 +0100
-***************
-*** 213,219 ****
---- 213,221 ----
-      if (curbuf->b_flags & BF_NEVERLOADED)
-      {
-  	(void)buf_init_chartab(curbuf, FALSE);
-+ #ifdef FEAT_CINDENT
-  	parse_cino(curbuf);
-+ #endif
-      }
-  
-      /*
-*** ../vim-7.4.069/src/version.c	2013-11-05 07:12:59.000000000 +0100
---- src/version.c	2013-11-05 17:38:56.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     70,
-  /**/
-
--- 
-No man may purchase alcohol without written consent from his wife.
-		[real standing law in Pennsylvania, 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    ///
diff --git a/7.4.071 b/7.4.071
deleted file mode 100644
index 71b2984..0000000
--- a/7.4.071
+++ /dev/null
@@ -1,1302 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.071
-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.071 (after 7.4.069)
-Problem:    Passing limits around too often.
-Solution:   Use limits from buffer.
-Files:      src/edit.c, src/misc1.c, src/proto/misc1.pro
-
-
-*** ../vim-7.4.070/src/edit.c	2013-11-05 07:12:59.000000000 +0100
---- src/edit.c	2013-11-06 03:19:10.000000000 +0100
-***************
-*** 7857,7864 ****
-  	    if (try_match && keytyped == ':')
-  	    {
-  		p = ml_get_curline();
-! 		if (cin_iscase(p, FALSE) || cin_isscopedecl(p)
-! 							   || cin_islabel(30))
-  		    return TRUE;
-  		/* Need to get the line again after cin_islabel(). */
-  		p = ml_get_curline();
---- 7857,7863 ----
-  	    if (try_match && keytyped == ':')
-  	    {
-  		p = ml_get_curline();
-! 		if (cin_iscase(p, FALSE) || cin_isscopedecl(p) || cin_islabel())
-  		    return TRUE;
-  		/* Need to get the line again after cin_islabel(). */
-  		p = ml_get_curline();
-***************
-*** 7868,7874 ****
-  		{
-  		    p[curwin->w_cursor.col - 1] = ' ';
-  		    i = (cin_iscase(p, FALSE) || cin_isscopedecl(p)
-! 							  || cin_islabel(30));
-  		    p = ml_get_curline();
-  		    p[curwin->w_cursor.col - 1] = ':';
-  		    if (i)
---- 7867,7873 ----
-  		{
-  		    p[curwin->w_cursor.col - 1] = ' ';
-  		    i = (cin_iscase(p, FALSE) || cin_isscopedecl(p)
-! 							    || cin_islabel());
-  		    p = ml_get_curline();
-  		    p[curwin->w_cursor.col - 1] = ':';
-  		    if (i)
-*** ../vim-7.4.070/src/misc1.c	2013-11-05 07:12:59.000000000 +0100
---- src/misc1.c	2013-11-06 03:46:59.000000000 +0100
-***************
-*** 5191,5201 ****
---- 5191,5208 ----
-  #if defined(FEAT_CINDENT) || defined(FEAT_SYN_HL)
-  
-  static char_u	*skip_string __ARGS((char_u *p));
-+ static pos_T *ind_find_start_comment __ARGS((void));
-  
-  /*
-   * Find the start of a comment, not knowing if we are in a comment right now.
-   * Search starts at w_cursor.lnum and goes backwards.
-   */
-+     static pos_T *
-+ ind_find_start_comment()	    /* XXX */
-+ {
-+     return find_start_comment(curbuf->b_ind_maxcomment);
-+ }
-+ 
-      pos_T *
-  find_start_comment(ind_maxcomment)	    /* XXX */
-      int		ind_maxcomment;
-***************
-*** 5313,5319 ****
-  static int	cin_isdefault __ARGS((char_u *));
-  static char_u	*after_label __ARGS((char_u *l));
-  static int	get_indent_nolabel __ARGS((linenr_T lnum));
-! static int	skip_label __ARGS((linenr_T, char_u **pp, int ind_maxcomment));
-  static int	cin_first_id_amount __ARGS((void));
-  static int	cin_get_equal_amount __ARGS((linenr_T lnum));
-  static int	cin_ispreproc __ARGS((char_u *));
---- 5320,5326 ----
-  static int	cin_isdefault __ARGS((char_u *));
-  static char_u	*after_label __ARGS((char_u *l));
-  static int	get_indent_nolabel __ARGS((linenr_T lnum));
-! static int	skip_label __ARGS((linenr_T, char_u **pp));
-  static int	cin_first_id_amount __ARGS((void));
-  static int	cin_get_equal_amount __ARGS((linenr_T lnum));
-  static int	cin_ispreproc __ARGS((char_u *));
-***************
-*** 5322,5345 ****
-  static int	cin_islinecomment __ARGS((char_u *));
-  static int	cin_isterminated __ARGS((char_u *, int, int));
-  static int	cin_isinit __ARGS((void));
-! static int	cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T, int, int));
-  static int	cin_isif __ARGS((char_u *));
-  static int	cin_iselse __ARGS((char_u *));
-  static int	cin_isdo __ARGS((char_u *));
-! static int	cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
-  static int	cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset));
-! static int	cin_iswhileofdo_end __ARGS((int terminated, int	ind_maxparen, int ind_maxcomment));
-  static int	cin_isbreak __ARGS((char_u *));
-  static int	cin_is_cpp_baseclass __ARGS((colnr_T *col));
-! static int	get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
-  static int	cin_ends_in __ARGS((char_u *, char_u *, char_u *));
-  static int	cin_starts_with __ARGS((char_u *s, char *word));
-  static int	cin_skip2pos __ARGS((pos_T *trypos));
-! static pos_T	*find_start_brace __ARGS((int));
-! static pos_T	*find_match_paren __ARGS((int, int));
-! static int	corr_ind_maxparen __ARGS((int ind_maxparen, 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, int ind_maxparen, int ind_maxcomment));
-  static int	cin_is_cpp_namespace __ARGS((char_u *));
-  
-  /*
---- 5329,5352 ----
-  static int	cin_islinecomment __ARGS((char_u *));
-  static int	cin_isterminated __ARGS((char_u *, int, int));
-  static int	cin_isinit __ARGS((void));
-! static int	cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T));
-  static int	cin_isif __ARGS((char_u *));
-  static int	cin_iselse __ARGS((char_u *));
-  static int	cin_isdo __ARGS((char_u *));
-! static int	cin_iswhileofdo __ARGS((char_u *, linenr_T));
-  static int	cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset));
-! static int	cin_iswhileofdo_end __ARGS((int terminated));
-  static int	cin_isbreak __ARGS((char_u *));
-  static int	cin_is_cpp_baseclass __ARGS((colnr_T *col));
-! static int	get_baseclass_amount __ARGS((int col));
-  static int	cin_ends_in __ARGS((char_u *, char_u *, char_u *));
-  static int	cin_starts_with __ARGS((char_u *s, char *word));
-  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 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));
-  static int	cin_is_cpp_namespace __ARGS((char_u *));
-  
-  /*
-***************
-*** 5444,5451 ****
-   * Note: curwin->w_cursor must be where we are looking for the label.
-   */
-      int
-! cin_islabel(ind_maxcomment)		/* XXX */
-!     int		ind_maxcomment;
-  {
-      char_u	*s;
-  
---- 5451,5457 ----
-   * Note: curwin->w_cursor must be where we are looking for the label.
-   */
-      int
-! cin_islabel()		/* XXX */
-  {
-      char_u	*s;
-  
-***************
-*** 5479,5485 ****
-  	     * If we're in a comment now, skip to the start of the comment.
-  	     */
-  	    curwin->w_cursor.col = 0;
-! 	    if ((trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */
-  		curwin->w_cursor = *trypos;
-  
-  	    line = ml_get_curline();
---- 5485,5491 ----
-  	     * If we're in a comment now, skip to the start of the comment.
-  	     */
-  	    curwin->w_cursor.col = 0;
-! 	    if ((trypos = ind_find_start_comment()) != NULL) /* XXX */
-  		curwin->w_cursor = *trypos;
-  
-  	    line = ml_get_curline();
-***************
-*** 5725,5734 ****
-   *		^
-   */
-      static int
-! skip_label(lnum, pp, ind_maxcomment)
-      linenr_T	lnum;
-      char_u	**pp;
--     int		ind_maxcomment;
-  {
-      char_u	*l;
-      int		amount;
---- 5731,5739 ----
-   *		^
-   */
-      static int
-! skip_label(lnum, pp)
-      linenr_T	lnum;
-      char_u	**pp;
-  {
-      char_u	*l;
-      int		amount;
-***************
-*** 5738,5745 ****
-      curwin->w_cursor.lnum = lnum;
-      l = ml_get_curline();
-  				    /* XXX */
-!     if (cin_iscase(l, FALSE) || cin_isscopedecl(l)
-! 					       || cin_islabel(ind_maxcomment))
-      {
-  	amount = get_indent_nolabel(lnum);
-  	l = after_label(ml_get_curline());
---- 5743,5749 ----
-      curwin->w_cursor.lnum = lnum;
-      l = ml_get_curline();
-  				    /* XXX */
-!     if (cin_iscase(l, FALSE) || cin_isscopedecl(l) || cin_islabel())
-      {
-  	amount = get_indent_nolabel(lnum);
-  	l = after_label(ml_get_curline());
-***************
-*** 5983,5994 ****
-   * "min_lnum" is the line before which we will not be looking.
-   */
-      static int
-! cin_isfuncdecl(sp, first_lnum, min_lnum, ind_maxparen, ind_maxcomment)
-      char_u	**sp;
-      linenr_T	first_lnum;
-      linenr_T	min_lnum;
--     int		ind_maxparen;
--     int		ind_maxcomment;
-  {
-      char_u	*s;
-      linenr_T	lnum = first_lnum;
---- 5987,5996 ----
-   * "min_lnum" is the line before which we will not be looking.
-   */
-      static int
-! cin_isfuncdecl(sp, first_lnum, min_lnum)
-      char_u	**sp;
-      linenr_T	first_lnum;
-      linenr_T	min_lnum;
-  {
-      char_u	*s;
-      linenr_T	lnum = first_lnum;
-***************
-*** 6002,6008 ****
-  	s = *sp;
-  
-      if (find_last_paren(s, '(', ')')
-! 	&& (trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL)
-      {
-  	lnum = trypos->lnum;
-  	if (lnum < min_lnum)
---- 6004,6010 ----
-  	s = *sp;
-  
-      if (find_last_paren(s, '(', ')')
-! 	&& (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL)
-      {
-  	lnum = trypos->lnum;
-  	if (lnum < min_lnum)
-***************
-*** 6110,6119 ****
-   * ')' and ';'. The condition may be spread over several lines.
-   */
-      static int
-! cin_iswhileofdo(p, lnum, ind_maxparen)	    /* XXX */
-      char_u	*p;
-      linenr_T	lnum;
--     int		ind_maxparen;
-  {
-      pos_T	cursor_save;
-      pos_T	*trypos;
---- 6112,6120 ----
-   * ')' and ';'. The condition may be spread over several lines.
-   */
-      static int
-! cin_iswhileofdo(p, lnum)	    /* XXX */
-      char_u	*p;
-      linenr_T	lnum;
-  {
-      pos_T	cursor_save;
-      pos_T	*trypos;
-***************
-*** 6133,6139 ****
-  	    ++p;
-  	    ++curwin->w_cursor.col;
-  	}
-! 	if ((trypos = findmatchlimit(NULL, 0, 0, ind_maxparen)) != NULL
-  		&& *cin_skipcomment(ml_get_pos(trypos) + 1) == ';')
-  	    retval = TRUE;
-  	curwin->w_cursor = cursor_save;
---- 6134,6141 ----
-  	    ++p;
-  	    ++curwin->w_cursor.col;
-  	}
-! 	if ((trypos = findmatchlimit(NULL, 0, 0,
-! 					      curbuf->b_ind_maxparen)) != NULL
-  		&& *cin_skipcomment(ml_get_pos(trypos) + 1) == ';')
-  	    retval = TRUE;
-  	curwin->w_cursor = cursor_save;
-***************
-*** 6196,6205 ****
-   * Adjust the cursor to the line with "while".
-   */
-      static int
-! cin_iswhileofdo_end(terminated, ind_maxparen, ind_maxcomment)
-      int	    terminated;
--     int	    ind_maxparen;
--     int	    ind_maxcomment;
-  {
-      char_u	*line;
-      char_u	*p;
---- 6198,6205 ----
-   * Adjust the cursor to the line with "while".
-   */
-      static int
-! cin_iswhileofdo_end(terminated)
-      int	    terminated;
-  {
-      char_u	*line;
-      char_u	*p;
-***************
-*** 6223,6229 ****
-  		 * before the matching '('.  XXX */
-  		i = (int)(p - line);
-  		curwin->w_cursor.col = i;
-! 		trypos = find_match_paren(ind_maxparen, ind_maxcomment);
-  		if (trypos != NULL)
-  		{
-  		    s = cin_skipcomment(ml_get(trypos->lnum));
---- 6223,6229 ----
-  		 * before the matching '('.  XXX */
-  		i = (int)(p - line);
-  		curwin->w_cursor.col = i;
-! 		trypos = find_match_paren(curbuf->b_ind_maxparen);
-  		if (trypos != NULL)
-  		{
-  		    s = cin_skipcomment(ml_get(trypos->lnum));
-***************
-*** 6415,6425 ****
-  }
-  
-      static int
-! get_baseclass_amount(col, ind_maxparen, ind_maxcomment, ind_cpp_baseclass)
-      int		col;
--     int		ind_maxparen;
--     int		ind_maxcomment;
--     int		ind_cpp_baseclass;
-  {
-      int		amount;
-      colnr_T	vcol;
---- 6415,6422 ----
-  }
-  
-      static int
-! get_baseclass_amount(col)
-      int		col;
-  {
-      int		amount;
-      colnr_T	vcol;
-***************
-*** 6429,6439 ****
-      {
-  	amount = get_indent();
-  	if (find_last_paren(ml_get_curline(), '(', ')')
-! 		&& (trypos = find_match_paren(ind_maxparen,
-! 						     ind_maxcomment)) != NULL)
-  	    amount = get_indent_lnum(trypos->lnum); /* XXX */
-  	if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL))
-! 	    amount += ind_cpp_baseclass;
-      }
-      else
-      {
---- 6426,6435 ----
-      {
-  	amount = get_indent();
-  	if (find_last_paren(ml_get_curline(), '(', ')')
-! 		&& (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL)
-  	    amount = get_indent_lnum(trypos->lnum); /* XXX */
-  	if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL))
-! 	    amount += curbuf->b_ind_cpp_baseclass;
-      }
-      else
-      {
-***************
-*** 6441,6448 ****
-  	getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
-  	amount = (int)vcol;
-      }
-!     if (amount < ind_cpp_baseclass)
-! 	amount = ind_cpp_baseclass;
-      return amount;
-  }
-  
---- 6437,6444 ----
-  	getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
-  	amount = (int)vcol;
-      }
-!     if (amount < curbuf->b_ind_cpp_baseclass)
-! 	amount = curbuf->b_ind_cpp_baseclass;
-      return amount;
-  }
-  
-***************
-*** 6526,6533 ****
-  /* }	    */
-  
-      static pos_T *
-! find_start_brace(ind_maxcomment)	    /* XXX */
-!     int		ind_maxcomment;
-  {
-      pos_T	cursor_save;
-      pos_T	*trypos;
---- 6522,6528 ----
-  /* }	    */
-  
-      static pos_T *
-! find_start_brace()	    /* XXX */
-  {
-      pos_T	cursor_save;
-      pos_T	*trypos;
-***************
-*** 6543,6549 ****
-  	pos = NULL;
-  	/* ignore the { if it's in a // or / *  * / comment */
-  	if ((colnr_T)cin_skip2pos(trypos) == trypos->col
-! 		&& (pos = find_start_comment(ind_maxcomment)) == NULL) /* XXX */
-  	    break;
-  	if (pos != NULL)
-  	    curwin->w_cursor.lnum = pos->lnum;
---- 6538,6544 ----
-  	pos = NULL;
-  	/* ignore the { if it's in a // or / *  * / comment */
-  	if ((colnr_T)cin_skip2pos(trypos) == trypos->col
-! 		       && (pos = ind_find_start_comment()) == NULL) /* XXX */
-  	    break;
-  	if (pos != NULL)
-  	    curwin->w_cursor.lnum = pos->lnum;
-***************
-*** 6557,6565 ****
-   * Return NULL if no match found.
-   */
-      static pos_T *
-! find_match_paren(ind_maxparen, ind_maxcomment)	    /* XXX */
-      int		ind_maxparen;
--     int		ind_maxcomment;
-  {
-      pos_T	cursor_save;
-      pos_T	*trypos;
---- 6552,6559 ----
-   * Return NULL if no match found.
-   */
-      static pos_T *
-! find_match_paren(ind_maxparen)	    /* XXX */
-      int		ind_maxparen;
-  {
-      pos_T	cursor_save;
-      pos_T	*trypos;
-***************
-*** 6576,6582 ****
-  	    pos_copy = *trypos;	    /* copy trypos, findmatch will change it */
-  	    trypos = &pos_copy;
-  	    curwin->w_cursor = *trypos;
-! 	    if (find_start_comment(ind_maxcomment) != NULL) /* XXX */
-  		trypos = NULL;
-  	}
-      }
---- 6570,6576 ----
-  	    pos_copy = *trypos;	    /* copy trypos, findmatch will change it */
-  	    trypos = &pos_copy;
-  	    curwin->w_cursor = *trypos;
-! 	    if (ind_find_start_comment() != NULL) /* XXX */
-  		trypos = NULL;
-  	}
-      }
-***************
-*** 6591,6605 ****
-   * looking a few lines further.
-   */
-      static int
-! corr_ind_maxparen(ind_maxparen, startpos)
-!     int		ind_maxparen;
-      pos_T	*startpos;
-  {
-      long	n = (long)startpos->lnum - (long)curwin->w_cursor.lnum;
-  
-!     if (n > 0 && n < ind_maxparen / 2)
-! 	return ind_maxparen - (int)n;
-!     return ind_maxparen;
-  }
-  
-  /*
---- 6585,6598 ----
-   * looking a few lines further.
-   */
-      static int
-! corr_ind_maxparen(startpos)
-      pos_T	*startpos;
-  {
-      long	n = (long)startpos->lnum - (long)curwin->w_cursor.lnum;
-  
-!     if (n > 0 && n < curbuf->b_ind_maxparen / 2)
-! 	return curbuf->b_ind_maxparen - (int)n;
-!     return curbuf->b_ind_maxparen;
-  }
-  
-  /*
-***************
-*** 6937,6943 ****
-  
-      curwin->w_cursor.col = 0;
-  
-!     original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment);  /* XXX */
-  
-      /*
-       * #defines and so on always go at the left when included in 'cinkeys'.
---- 6930,6936 ----
-  
-      curwin->w_cursor.col = 0;
-  
-!     original_line_islabel = cin_islabel();  /* XXX */
-  
-      /*
-       * #defines and so on always go at the left when included in 'cinkeys'.
-***************
-*** 6973,6979 ****
-       * comment, try using the 'comments' option.
-       */
-      else if (!cin_iscomment(theline)
-! 	    && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL)
-  	/* XXX */
-      {
-  	int	lead_start_len = 2;
---- 6966,6972 ----
-       * comment, try using the 'comments' option.
-       */
-      else if (!cin_iscomment(theline)
-! 			       && (trypos = ind_find_start_comment()) != NULL)
-  	/* XXX */
-      {
-  	int	lead_start_len = 2;
-***************
-*** 7126,7136 ****
-      /*
-       * Are we inside parentheses or braces?
-       */						    /* XXX */
-!     else if (((trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment)) != NULL
-  		&& curbuf->b_ind_java == 0)
-! 	    || (tryposBrace =
-! 			   find_start_brace(curbuf->b_ind_maxcomment)) != NULL
-  	    || trypos != NULL)
-      {
-        if (trypos != NULL && tryposBrace != NULL)
---- 7119,7127 ----
-      /*
-       * Are we inside parentheses or braces?
-       */						    /* XXX */
-!     else if (((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL
-  		&& curbuf->b_ind_java == 0)
-! 	    || (tryposBrace = find_start_brace()) != NULL
-  	    || trypos != NULL)
-      {
-        if (trypos != NULL && tryposBrace != NULL)
-***************
-*** 7170,7177 ****
-  		curwin->w_cursor.lnum = lnum;
-  
-  		/* Skip a comment. XXX */
-! 		if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
-! 								      != NULL)
-  		{
-  		    lnum = trypos->lnum + 1;
-  		    continue;
---- 7161,7167 ----
-  		curwin->w_cursor.lnum = lnum;
-  
-  		/* Skip a comment. XXX */
-! 		if ((trypos = ind_find_start_comment()) != NULL)
-  		{
-  		    lnum = trypos->lnum + 1;
-  		    continue;
-***************
-*** 7179,7186 ****
-  
-  		/* XXX */
-  		if ((trypos = find_match_paren(
-! 		       corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos),
-! 					    curbuf->b_ind_maxcomment)) != NULL
-  			&& trypos->lnum == our_paren_pos.lnum
-  			&& trypos->col == our_paren_pos.col)
-  		{
---- 7169,7175 ----
-  
-  		/* XXX */
-  		if ((trypos = find_match_paren(
-! 			corr_ind_maxparen(&cur_curpos))) != NULL
-  			&& trypos->lnum == our_paren_pos.lnum
-  			&& trypos->col == our_paren_pos.col)
-  		{
-***************
-*** 7223,7230 ****
-  		    curwin->w_cursor.lnum = outermost.lnum;
-  		    curwin->w_cursor.col = outermost.col;
-  
-! 		    trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 						    curbuf->b_ind_maxcomment);
-  		} while (trypos && trypos->lnum == outermost.lnum);
-  
-  		curwin->w_cursor = cursor_save;
---- 7212,7218 ----
-  		    curwin->w_cursor.lnum = outermost.lnum;
-  		    curwin->w_cursor.col = outermost.col;
-  
-! 		    trypos = find_match_paren(curbuf->b_ind_maxparen);
-  		} while (trypos && trypos->lnum == outermost.lnum);
-  
-  		curwin->w_cursor = cursor_save;
-***************
-*** 7235,7242 ****
-  		    cin_is_if_for_while_before_offset(line, &outermost.col);
-  	    }
-  
-! 	    amount = skip_label(our_paren_pos.lnum, &look,
-! 						    curbuf->b_ind_maxcomment);
-  	    look = skipwhite(look);
-  	    if (*look == '(')
-  	    {
---- 7223,7229 ----
-  		    cin_is_if_for_while_before_offset(line, &outermost.col);
-  	    }
-  
-! 	    amount = skip_label(our_paren_pos.lnum, &look);
-  	    look = skipwhite(look);
-  	    if (*look == '(')
-  	    {
-***************
-*** 7366,7373 ****
-  		{
-  		    curwin->w_cursor.lnum = our_paren_pos.lnum;
-  		    curwin->w_cursor.col = col;
-! 		    if (find_match_paren(curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment) != NULL)
-  			amount += curbuf->b_ind_unclosed2;
-  		    else
-  		    {
---- 7353,7359 ----
-  		{
-  		    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
-  		    {
-***************
-*** 7435,7442 ****
-  	     */
-  	    lnum = ourscope;
-  	    if (find_last_paren(start, '(', ')')
-! 		    && (trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  		lnum = trypos->lnum;
-  
-  	    /*
---- 7421,7428 ----
-  	     */
-  	    lnum = ourscope;
-  	    if (find_last_paren(start, '(', ')')
-! 			&& (trypos = find_match_paren(curbuf->b_ind_maxparen))
-! 								      != NULL)
-  		lnum = trypos->lnum;
-  
-  	    /*
-***************
-*** 7449,7455 ****
-  			   && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
-  		amount = get_indent();
-  	    else
-! 		amount = skip_label(lnum, &l, curbuf->b_ind_maxcomment);
-  
-  	    start_brace = BRACE_AT_END;
-  	}
---- 7435,7441 ----
-  			   && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
-  		amount = get_indent();
-  	    else
-! 		amount = skip_label(lnum, &l);
-  
-  	    start_brace = BRACE_AT_END;
-  	}
-***************
-*** 7478,7491 ****
-  	    lookfor = LOOKFOR_INITIAL;
-  	    if (cin_iselse(theline))
-  		lookfor = LOOKFOR_IF;
-! 	    else if (cin_iswhileofdo(theline, cur_curpos.lnum,
-! 					    curbuf->b_ind_maxparen)) /* XXX */
-  		lookfor = LOOKFOR_DO;
-  	    if (lookfor != LOOKFOR_INITIAL)
-  	    {
-  		curwin->w_cursor.lnum = cur_curpos.lnum;
-! 		if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen,
-! 					      curbuf->b_ind_maxcomment) == OK)
-  		{
-  		    amount = get_indent();	/* XXX */
-  		    goto theend;
---- 7464,7475 ----
-  	    lookfor = LOOKFOR_INITIAL;
-  	    if (cin_iselse(theline))
-  		lookfor = LOOKFOR_IF;
-! 	    else if (cin_iswhileofdo(theline, cur_curpos.lnum)) /* XXX */
-  		lookfor = LOOKFOR_DO;
-  	    if (lookfor != LOOKFOR_INITIAL)
-  	    {
-  		curwin->w_cursor.lnum = cur_curpos.lnum;
-! 		if (find_match(lookfor, ourscope) == OK)
-  		{
-  		    amount = get_indent();	/* XXX */
-  		    goto theend;
-***************
-*** 7611,7617 ****
-  			 * If we're in a comment now, skip to the start of the
-  			 * comment.
-  			 */
-! 			trypos = find_start_comment(curbuf->b_ind_maxcomment);
-  			if (trypos != NULL)
-  			{
-  			    curwin->w_cursor.lnum = trypos->lnum + 1;
---- 7595,7601 ----
-  			 * If we're in a comment now, skip to the start of the
-  			 * comment.
-  			 */
-! 			trypos = ind_find_start_comment();
-  			if (trypos != NULL)
-  			{
-  			    curwin->w_cursor.lnum = trypos->lnum + 1;
-***************
-*** 7636,7644 ****
-  			 * (it's a variable declaration).
-  			 */
-  			if (start_brace != BRACE_IN_COL0
-! 				|| !cin_isfuncdecl(&l, curwin->w_cursor.lnum,
-! 					     0, curbuf->b_ind_maxparen,
-! 						    curbuf->b_ind_maxcomment))
-  			{
-  			    /* if the line is terminated with another ','
-  			     * it is a continued variable initialization.
---- 7620,7626 ----
-  			 * (it's a variable declaration).
-  			 */
-  			if (start_brace != BRACE_IN_COL0
-! 			     || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0))
-  			{
-  			    /* if the line is terminated with another ','
-  			     * it is a continued variable initialization.
-***************
-*** 7670,7681 ****
-  			    trypos = NULL;
-  			    if (find_last_paren(l, '(', ')'))
-  				trypos = find_match_paren(
-! 						curbuf->b_ind_maxparen,
-! 						curbuf->b_ind_maxcomment);
-  
-  			    if (trypos == NULL && find_last_paren(l, '{', '}'))
-! 				trypos = find_start_brace(
-! 						    curbuf->b_ind_maxcomment);
-  
-  			    if (trypos != NULL)
-  			    {
---- 7652,7661 ----
-  			    trypos = NULL;
-  			    if (find_last_paren(l, '(', ')'))
-  				trypos = find_match_paren(
-! 						      curbuf->b_ind_maxparen);
-  
-  			    if (trypos == NULL && find_last_paren(l, '{', '}'))
-! 				trypos = find_start_brace();
-  
-  			    if (trypos != NULL)
-  			    {
-***************
-*** 7733,7740 ****
-  
-  			    /* If we're in a comment now, skip to the start of
-  			     * the comment. */
-! 			    trypos = find_start_comment(
-! 						    curbuf->b_ind_maxcomment);
-  			    if (trypos != NULL)
-  			    {
-  				curwin->w_cursor.lnum = trypos->lnum + 1;
---- 7713,7719 ----
-  
-  			    /* If we're in a comment now, skip to the start of
-  			     * the comment. */
-! 			    trypos = ind_find_start_comment();
-  			    if (trypos != NULL)
-  			    {
-  				curwin->w_cursor.lnum = trypos->lnum + 1;
-***************
-*** 7764,7771 ****
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */					    /* XXX */
-! 		if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
-! 								      != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
---- 7743,7749 ----
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */					    /* XXX */
-! 		if ((trypos = ind_find_start_comment()) != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
-***************
-*** 7819,7826 ****
-  			 * Check that this case label is not for another
-  			 * switch()
-  			 */				    /* XXX */
-! 			if ((trypos = find_start_brace(
-! 					    curbuf->b_ind_maxcomment)) == NULL
-  						  || trypos->lnum == ourscope)
-  			{
-  			    amount = get_indent();	/* XXX */
---- 7797,7803 ----
-  			 * Check that this case label is not for another
-  			 * switch()
-  			 */				    /* XXX */
-! 			if ((trypos = find_start_brace()) == NULL
-  						  || trypos->lnum == ourscope)
-  			{
-  			    amount = get_indent();	/* XXX */
-***************
-*** 7894,7901 ****
-  		 */
-  		if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
-  		{
-! 		    if (find_last_paren(l, '{', '}') && (trypos =
-! 			  find_start_brace(curbuf->b_ind_maxcomment)) != NULL)
-  		    {
-  			curwin->w_cursor.lnum = trypos->lnum + 1;
-  			curwin->w_cursor.col = 0;
---- 7871,7878 ----
-  		 */
-  		if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
-  		{
-! 		    if (find_last_paren(l, '{', '}')
-! 				     && (trypos = find_start_brace()) != NULL)
-  		    {
-  			curwin->w_cursor.lnum = trypos->lnum + 1;
-  			curwin->w_cursor.col = 0;
-***************
-*** 7906,7912 ****
-  		/*
-  		 * Ignore jump labels with nothing after them.
-  		 */
-! 		if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment))
-  		{
-  		    l = after_label(ml_get_curline());
-  		    if (l == NULL || cin_nocode(l))
---- 7883,7889 ----
-  		/*
-  		 * Ignore jump labels with nothing after them.
-  		 */
-! 		if (!curbuf->b_ind_js && cin_islabel())
-  		{
-  		    l = after_label(ml_get_curline());
-  		    if (l == NULL || cin_nocode(l))
-***************
-*** 7952,7961 ****
-  		    }
-  		    else
-  								     /* XXX */
-! 			amount = get_baseclass_amount(col,
-! 						   curbuf->b_ind_maxparen,
-! 						   curbuf->b_ind_maxcomment,
-! 						   curbuf->b_ind_cpp_baseclass);
-  		    break;
-  		}
-  		else if (lookfor == LOOKFOR_CPP_BASECLASS)
---- 7929,7935 ----
-  		    }
-  		    else
-  								     /* XXX */
-! 			amount = get_baseclass_amount(col);
-  		    break;
-  		}
-  		else if (lookfor == LOOKFOR_CPP_BASECLASS)
-***************
-*** 7997,8005 ****
-  		     * matching it will take us back to the start of the line.
-  		     */
-  		    (void)find_last_paren(l, '(', ')');
-! 		    trypos = find_match_paren(
-! 				 corr_ind_maxparen(curbuf->b_ind_maxparen,
-! 				      &cur_curpos), curbuf->b_ind_maxcomment);
-  
-  		    /*
-  		     * If we are looking for ',', we also look for matching
---- 7971,7977 ----
-  		     * 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
-***************
-*** 8007,8013 ****
-  		     */
-  		    if (trypos == NULL && terminated == ','
-  					      && find_last_paren(l, '{', '}'))
-! 			trypos = find_start_brace(curbuf->b_ind_maxcomment);
-  
-  		    if (trypos != NULL)
-  		    {
---- 7979,7985 ----
-  		     */
-  		    if (trypos == NULL && terminated == ','
-  					      && find_last_paren(l, '{', '}'))
-! 			trypos = find_start_brace();
-  
-  		    if (trypos != NULL)
-  		    {
-***************
-*** 8051,8058 ****
-  		     * ignoring any jump label.	    XXX
-  		     */
-  		    if (!curbuf->b_ind_js)
-! 			cur_amount = skip_label(curwin->w_cursor.lnum,
-! 						&l, curbuf->b_ind_maxcomment);
-  		    else
-  			cur_amount = get_indent();
-  		    /*
---- 8023,8029 ----
-  		     * ignoring any jump label.	    XXX
-  		     */
-  		    if (!curbuf->b_ind_js)
-! 			cur_amount = skip_label(curwin->w_cursor.lnum, &l);
-  		    else
-  			cur_amount = get_indent();
-  		    /*
-***************
-*** 8162,8172 ****
-  				curwin->w_cursor.col =
-  					  (colnr_T)(l - ml_get_curline()) + 1;
-  
-! 			    if ((trypos = find_start_brace(
-! 					    curbuf->b_ind_maxcomment)) == NULL
-! 				    || find_match(LOOKFOR_IF, trypos->lnum,
-! 					    curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment) == FAIL)
-  				break;
-  			}
-  		    }
---- 8133,8141 ----
-  				curwin->w_cursor.col =
-  					  (colnr_T)(l - ml_get_curline()) + 1;
-  
-! 			    if ((trypos = find_start_brace()) == NULL
-! 				       || find_match(LOOKFOR_IF, trypos->lnum)
-! 								      == FAIL)
-  				break;
-  			}
-  		    }
-***************
-*** 8261,8268 ****
-  		 * If so: Ignore until the matching "do".
-  		 */
-  							/* XXX */
-! 		else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen,
-! 						    curbuf->b_ind_maxcomment))
-  		{
-  		    /*
-  		     * Found an unterminated line after a while ();, line up
---- 8230,8236 ----
-  		 * If so: Ignore until the matching "do".
-  		 */
-  							/* XXX */
-! 		else if (cin_iswhileofdo_end(terminated))
-  		{
-  		    /*
-  		     * Found an unterminated line after a while ();, line up
-***************
-*** 8380,8387 ****
-  			l = ml_get_curline();
-  			if (find_last_paren(l, '(', ')')
-  				&& (trypos = find_match_paren(
-! 					   curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  			{
-  			    /*
-  			     * Check if we are on a case label now.  This is
---- 8348,8354 ----
-  			l = ml_get_curline();
-  			if (find_last_paren(l, '(', ')')
-  				&& (trypos = find_match_paren(
-! 					   curbuf->b_ind_maxparen)) != NULL)
-  			{
-  			    /*
-  			     * Check if we are on a case label now.  This is
-***************
-*** 8415,8422 ****
-  			 * Get indent and pointer to text for current line,
-  			 * ignoring any jump label.
-  			 */
-! 			amount = skip_label(curwin->w_cursor.lnum,
-! 						&l, curbuf->b_ind_maxcomment);
-  
-  			if (theline[0] == '{')
-  			    amount += curbuf->b_ind_open_extra;
---- 8382,8388 ----
-  			 * Get indent and pointer to text for current line,
-  			 * ignoring any jump label.
-  			 */
-! 			amount = skip_label(curwin->w_cursor.lnum, &l);
-  
-  			if (theline[0] == '{')
-  			    amount += curbuf->b_ind_open_extra;
-***************
-*** 8439,8449 ****
-  				&& cin_iselse(l)
-  				&& whilelevel == 0)
-  			{
-! 			    if ((trypos = find_start_brace(
-! 					    curbuf->b_ind_maxcomment)) == NULL
-! 				    || find_match(LOOKFOR_IF, trypos->lnum,
-! 					    curbuf->b_ind_maxparen,
-! 					    curbuf->b_ind_maxcomment) == FAIL)
-  				break;
-  			    continue;
-  			}
---- 8405,8413 ----
-  				&& cin_iselse(l)
-  				&& whilelevel == 0)
-  			{
-! 			    if ((trypos = find_start_brace()) == NULL
-! 				       || find_match(LOOKFOR_IF, trypos->lnum)
-! 								      == FAIL)
-  				break;
-  			    continue;
-  			}
-***************
-*** 8453,8461 ****
-  			 * that block.
-  			 */
-  			l = ml_get_curline();
-! 			if (find_last_paren(l, '{', '}')
-! 				&& (trypos = find_start_brace(
-! 				 curbuf->b_ind_maxcomment)) != NULL) /* XXX */
-  			{
-  			    curwin->w_cursor = *trypos;
-  			    /* if not "else {" check for terminated again */
---- 8417,8424 ----
-  			 * that block.
-  			 */
-  			l = ml_get_curline();
-! 			if (find_last_paren(l, '{', '}') /* XXX */
-! 				     && (trypos = find_start_brace()) != NULL)
-  			{
-  			    curwin->w_cursor = *trypos;
-  			    /* if not "else {" check for terminated again */
-***************
-*** 8516,8524 ****
-  		&& !cin_ends_in(theline, (char_u *)":", NULL)
-  		&& !cin_ends_in(theline, (char_u *)",", NULL)
-  		&& cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
-! 				  cur_curpos.lnum + 1,
-! 				  curbuf->b_ind_maxparen,
-! 				  curbuf->b_ind_maxcomment)
-  		&& !cin_isterminated(theline, FALSE, TRUE))
-  	{
-  	    amount = curbuf->b_ind_func_type;
---- 8479,8485 ----
-  		&& !cin_ends_in(theline, (char_u *)":", NULL)
-  		&& !cin_ends_in(theline, (char_u *)",", NULL)
-  		&& cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
-! 				  cur_curpos.lnum + 1)
-  		&& !cin_isterminated(theline, FALSE, TRUE))
-  	{
-  	    amount = curbuf->b_ind_func_type;
-***************
-*** 8540,8547 ****
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */						/* XXX */
-! 		if ((trypos = find_start_comment(
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
---- 8501,8507 ----
-  		/*
-  		 * If we're in a comment now, skip to the start of the comment.
-  		 */						/* XXX */
-! 		if ((trypos = ind_find_start_comment()) != NULL)
-  		{
-  		    curwin->w_cursor.lnum = trypos->lnum + 1;
-  		    curwin->w_cursor.col = 0;
-***************
-*** 8561,8569 ****
-  		if (n)
-  		{
-  								     /* XXX */
-! 		    amount = get_baseclass_amount(col, curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment,
-! 					   curbuf->b_ind_cpp_baseclass);
-  		    break;
-  		}
-  
---- 8521,8527 ----
-  		if (n)
-  		{
-  								     /* XXX */
-! 		    amount = get_baseclass_amount(col);
-  		    break;
-  		}
-  
-***************
-*** 8595,8602 ****
-  		    /* take us back to opening paren */
-  		    if (find_last_paren(l, '(', ')')
-  			    && (trypos = find_match_paren(
-! 					   curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  			curwin->w_cursor = *trypos;
-  
-  		    /* For a line ending in ',' that is a continuation line go
---- 8553,8559 ----
-  		    /* take us back to opening paren */
-  		    if (find_last_paren(l, '(', ')')
-  			    && (trypos = find_match_paren(
-! 					     curbuf->b_ind_maxparen)) != NULL)
-  			curwin->w_cursor = *trypos;
-  
-  		    /* For a line ending in ',' that is a continuation line go
-***************
-*** 8627,8635 ****
-  		 * If the line looks like a function declaration, and we're
-  		 * not in a comment, put it the left margin.
-  		 */
-! 		if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0,
-! 				   curbuf->b_ind_maxparen,
-! 				   curbuf->b_ind_maxcomment))  /* XXX */
-  		    break;
-  		l = ml_get_curline();
-  
---- 8584,8590 ----
-  		 * If the line looks like a function declaration, and we're
-  		 * not in a comment, put it the left margin.
-  		 */
-! 		if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0))  /* XXX */
-  		    break;
-  		l = ml_get_curline();
-  
-***************
-*** 8677,8685 ****
-  		 * line (and the ones that follow) needs to be indented as
-  		 * parameters.
-  		 */
-! 		if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0,
-! 				   curbuf->b_ind_maxparen,
-! 				   curbuf->b_ind_maxcomment))
-  		{
-  		    amount = curbuf->b_ind_param;
-  		    break;
---- 8632,8638 ----
-  		 * line (and the ones that follow) needs to be indented as
-  		 * parameters.
-  		 */
-! 		if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0))
-  		{
-  		    amount = curbuf->b_ind_param;
-  		    break;
-***************
-*** 8710,8717 ****
-  		 */
-  		find_last_paren(l, '(', ')');
-  
-! 		if ((trypos = find_match_paren(curbuf->b_ind_maxparen,
-! 					   curbuf->b_ind_maxcomment)) != NULL)
-  		    curwin->w_cursor = *trypos;
-  		amount = get_indent();	    /* XXX */
-  		break;
---- 8663,8669 ----
-  		 */
-  		find_last_paren(l, '(', ')');
-  
-! 		if ((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL)
-  		    curwin->w_cursor = *trypos;
-  		amount = get_indent();	    /* XXX */
-  		break;
-***************
-*** 8754,8764 ****
-  }
-  
-      static int
-! find_match(lookfor, ourscope, ind_maxparen, ind_maxcomment)
-      int		lookfor;
-      linenr_T	ourscope;
--     int		ind_maxparen;
--     int		ind_maxcomment;
-  {
-      char_u	*look;
-      pos_T	*theirscope;
---- 8706,8714 ----
-  }
-  
-      static int
-! find_match(lookfor, ourscope)
-      int		lookfor;
-      linenr_T	ourscope;
-  {
-      char_u	*look;
-      pos_T	*theirscope;
-***************
-*** 8788,8800 ****
-  	if (cin_iselse(look)
-  		|| cin_isif(look)
-  		|| cin_isdo(look)			    /* XXX */
-! 		|| cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen))
-  	{
-  	    /*
-  	     * if we've gone outside the braces entirely,
-  	     * we must be out of scope...
-  	     */
-! 	    theirscope = find_start_brace(ind_maxcomment);  /* XXX */
-  	    if (theirscope == NULL)
-  		break;
-  
---- 8738,8750 ----
-  	if (cin_iselse(look)
-  		|| cin_isif(look)
-  		|| cin_isdo(look)			    /* XXX */
-! 		|| cin_iswhileofdo(look, curwin->w_cursor.lnum))
-  	{
-  	    /*
-  	     * if we've gone outside the braces entirely,
-  	     * we must be out of scope...
-  	     */
-! 	    theirscope = find_start_brace();  /* XXX */
-  	    if (theirscope == NULL)
-  		break;
-  
-***************
-*** 8832,8838 ****
-  	     * if it was a "while" then we need to go back to
-  	     * another "do", so increment whilelevel.  XXX
-  	     */
-! 	    if (cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen))
-  	    {
-  		++whilelevel;
-  		continue;
---- 8782,8788 ----
-  	     * if it was a "while" then we need to go back to
-  	     * another "do", so increment whilelevel.  XXX
-  	     */
-! 	    if (cin_iswhileofdo(look, curwin->w_cursor.lnum))
-  	    {
-  		++whilelevel;
-  		continue;
-*** ../vim-7.4.070/src/proto/misc1.pro	2013-11-05 07:12:59.000000000 +0100
---- src/proto/misc1.pro	2013-11-06 03:19:45.000000000 +0100
-***************
-*** 81,87 ****
-  char_u *FullName_save __ARGS((char_u *fname, int force));
-  pos_T *find_start_comment __ARGS((int ind_maxcomment));
-  void do_c_expr_indent __ARGS((void));
-! int cin_islabel __ARGS((int ind_maxcomment));
-  int cin_iscase __ARGS((char_u *s, int strict));
-  int cin_isscopedecl __ARGS((char_u *s));
-  void parse_cino __ARGS((buf_T *buf));
---- 81,87 ----
-  char_u *FullName_save __ARGS((char_u *fname, int force));
-  pos_T *find_start_comment __ARGS((int ind_maxcomment));
-  void do_c_expr_indent __ARGS((void));
-! int cin_islabel __ARGS((void));
-  int cin_iscase __ARGS((char_u *s, int strict));
-  int cin_isscopedecl __ARGS((char_u *s));
-  void parse_cino __ARGS((buf_T *buf));
-*** ../vim-7.4.070/src/version.c	2013-11-05 17:40:47.000000000 +0100
---- src/version.c	2013-11-06 03:43:44.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     71,
-  /**/
-
--- 
-A law to reduce crime states: "It is mandatory for a motorist with criminal
-intentions to stop at the city limits and telephone the chief of police as he
-is entering the town.
-		[real standing law in Washington, 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    ///
diff --git a/7.4.072 b/7.4.072
deleted file mode 100644
index e96888e..0000000
--- a/7.4.072
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.072
-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.072
-Problem:    Crash when using Insert mode completion.
-Solution:   Avoid going past the end of pum_array. (idea by Fransisco Lopes)
-Files:      src/popupmnu.c
-
-
-*** ../vim-7.4.071/src/popupmnu.c	2011-08-17 18:04:28.000000000 +0200
---- src/popupmnu.c	2013-11-02 04:01:06.000000000 +0100
-***************
-*** 282,287 ****
---- 282,291 ----
-      int		round;
-      int		n;
-  
-+     /* Never display more than we have */
-+     if (pum_first > pum_size - pum_height)
-+ 	pum_first = pum_size - pum_height;
-+ 
-      if (pum_scrollbar)
-      {
-  	thumb_heigth = pum_height * pum_height / pum_size;
-***************
-*** 672,681 ****
-  #endif
-      }
-  
--     /* Never display more than we have */
--     if (pum_first > pum_size - pum_height)
-- 	pum_first = pum_size - pum_height;
-- 
-      if (!resized)
-  	pum_redraw();
-  
---- 676,681 ----
-*** ../vim-7.4.071/src/version.c	2013-11-06 04:01:31.000000000 +0100
---- src/version.c	2013-11-06 04:03:18.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     72,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.073 b/7.4.073
deleted file mode 100644
index 7d9cedc..0000000
--- a/7.4.073
+++ /dev/null
@@ -1,404 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.073
-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.073
-Problem:    Setting undolevels for one buffer changes undo in another.
-Solution:   Make 'undolevels' a global-local option. (Christian Brabandt)
-Files:      runtime/doc/options.txt, src/buffer.c, src/option.c, src/option.h
-            src/structs.h, src/undo.c
-
-
-*** ../vim-7.4.072/runtime/doc/options.txt	2013-08-10 13:24:57.000000000 +0200
---- runtime/doc/options.txt	2013-11-06 04:18:43.000000000 +0100
-***************
-*** 7594,7600 ****
-  						*'undolevels'* *'ul'*
-  'undolevels' 'ul'	number	(default 100, 1000 for Unix, VMS,
-  						Win32 and OS/2)
-! 			global
-  			{not in Vi}
-  	Maximum number of changes that can be undone.  Since undo information
-  	is kept in memory, higher numbers will cause more memory to be used
---- 7594,7600 ----
-  						*'undolevels'* *'ul'*
-  'undolevels' 'ul'	number	(default 100, 1000 for Unix, VMS,
-  						Win32 and OS/2)
-! 			global or local to buffer |global-local|
-  			{not in Vi}
-  	Maximum number of changes that can be undone.  Since undo information
-  	is kept in memory, higher numbers will cause more memory to be used
-***************
-*** 7605,7612 ****
-  <	But you can also get Vi compatibility by including the 'u' flag in
-  	'cpoptions', and still be able to use CTRL-R to repeat undo.
-  	Also see |undo-two-ways|.
-! 	Set to a negative number for no undo at all: >
-! 		set ul=-1
-  <	This helps when you run out of memory for a single change.
-  	Also see |clear-undo|.
-  
---- 7605,7613 ----
-  <	But you can also get Vi compatibility by including the 'u' flag in
-  	'cpoptions', and still be able to use CTRL-R to repeat undo.
-  	Also see |undo-two-ways|.
-! 	Set to -1 for no undo at all.  You might want to do this only for the
-! 	current buffer: >
-! 		setlocal ul=-1
-  <	This helps when you run out of memory for a single change.
-  	Also see |clear-undo|.
-  
-*** ../vim-7.4.072/src/buffer.c	2013-11-05 17:40:47.000000000 +0100
---- src/buffer.c	2013-11-06 04:25:27.000000000 +0100
-***************
-*** 1949,1954 ****
---- 1949,1955 ----
-      clear_string_option(&buf->b_p_qe);
-  #endif
-      buf->b_p_ar = -1;
-+     buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
-  }
-  
-  /*
-*** ../vim-7.4.072/src/option.c	2013-11-05 07:12:59.000000000 +0100
---- src/option.c	2013-11-06 04:34:23.000000000 +0100
-***************
-*** 234,239 ****
---- 234,240 ----
-  #ifdef FEAT_STL_OPT
-  # define PV_STL		OPT_BOTH(OPT_WIN(WV_STL))
-  #endif
-+ #define PV_UL		OPT_BOTH(OPT_BUF(BV_UL))
-  #ifdef FEAT_WINDOWS
-  # define PV_WFH		OPT_WIN(WV_WFH)
-  #endif
-***************
-*** 2683,2689 ****
-  #endif
-  			    {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-      {"undolevels",  "ul",   P_NUM|P_VI_DEF,
-! 			    (char_u *)&p_ul, PV_NONE,
-  			    {
-  #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS)
-  			    (char_u *)1000L,
---- 2684,2690 ----
-  #endif
-  			    {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-      {"undolevels",  "ul",   P_NUM|P_VI_DEF,
-! 			    (char_u *)&p_ul, PV_UL,
-  			    {
-  #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS)
-  			    (char_u *)1000L,
-***************
-*** 3313,3318 ****
---- 3314,3320 ----
-  
-      curbuf->b_p_initialized = TRUE;
-      curbuf->b_p_ar = -1;	/* no local 'autoread' value */
-+     curbuf->b_p_ul = NO_LOCAL_UNDOLEVEL;
-      check_buf_options(curbuf);
-      check_win_options(curwin);
-      check_options();
-***************
-*** 4512,4519 ****
-  						((flags & P_VI_DEF) || cp_val)
-  						 ?  VI_DEFAULT : VIM_DEFAULT];
-  			else if (nextchar == '<')
-! 			    value = *(long *)get_varp_scope(&(options[opt_idx]),
-! 								  OPT_GLOBAL);
-  			else if (((long *)varp == &p_wc
-  				    || (long *)varp == &p_wcm)
-  				&& (*arg == '<'
---- 4514,4529 ----
-  						((flags & P_VI_DEF) || cp_val)
-  						 ?  VI_DEFAULT : VIM_DEFAULT];
-  			else if (nextchar == '<')
-! 			{
-! 			    /* For 'undolevels' NO_LOCAL_UNDOLEVEL means to
-! 			     * use the global value. */
-! 			    if ((long *)varp == &curbuf->b_p_ul
-! 						    && opt_flags == OPT_LOCAL)
-! 				value = NO_LOCAL_UNDOLEVEL;
-! 			    else
-! 				value = *(long *)get_varp_scope(
-! 					     &(options[opt_idx]), OPT_GLOBAL);
-! 			}
-  			else if (((long *)varp == &p_wc
-  				    || (long *)varp == &p_wcm)
-  				&& (*arg == '<'
-***************
-*** 8487,8492 ****
---- 8497,8509 ----
-  	u_sync(TRUE);
-  	p_ul = value;
-      }
-+     else if (pp == &curbuf->b_p_ul)
-+     {
-+ 	/* use the old value, otherwise u_sync() may not work properly */
-+ 	curbuf->b_p_ul = old_value;
-+ 	u_sync(TRUE);
-+ 	curbuf->b_p_ul = value;
-+     }
-  
-  #ifdef FEAT_LINEBREAK
-      /* 'numberwidth' must be positive */
-***************
-*** 9720,9726 ****
-  /*
-   * Unset local option value, similar to ":set opt<".
-   */
-- 
-      void
-  unset_global_local_option(name, from)
-      char_u	*name;
---- 9737,9742 ----
-***************
-*** 9793,9798 ****
---- 9809,9817 ----
-  	    clear_string_option(&((win_T *)from)->w_p_stl);
-  	    break;
-  #endif
-+ 	case PV_UL:
-+ 	    buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
-+ 	    break;
-      }
-  }
-  
-***************
-*** 9841,9846 ****
---- 9860,9866 ----
-  #ifdef FEAT_STL_OPT
-  	    case PV_STL:  return (char_u *)&(curwin->w_p_stl);
-  #endif
-+ 	    case PV_UL:   return (char_u *)&(curbuf->b_p_ul);
-  	}
-  	return NULL; /* "cannot happen" */
-      }
-***************
-*** 9905,9910 ****
---- 9925,9932 ----
-  	case PV_STL:	return *curwin->w_p_stl != NUL
-  				    ? (char_u *)&(curwin->w_p_stl) : p->var;
-  #endif
-+ 	case PV_UL:	return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL
-+ 				    ? (char_u *)&(curbuf->b_p_ul) : p->var;
-  
-  #ifdef FEAT_ARABIC
-  	case PV_ARAB:	return (char_u *)&(curwin->w_p_arab);
-***************
-*** 10445,10450 ****
---- 10467,10473 ----
-  	    /* options that are normally global but also have a local value
-  	     * are not copied, start using the global value */
-  	    buf->b_p_ar = -1;
-+ 	    buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
-  #ifdef FEAT_QUICKFIX
-  	    buf->b_p_gp = empty_option;
-  	    buf->b_p_mp = empty_option;
-*** ../vim-7.4.072/src/option.h	2013-06-26 18:41:39.000000000 +0200
---- src/option.h	2013-11-06 04:17:40.000000000 +0100
-***************
-*** 1031,1036 ****
---- 1031,1037 ----
-      , BV_TW
-      , BV_TX
-      , BV_UDF
-+     , BV_UL
-      , BV_WM
-      , BV_COUNT	    /* must be the last one */
-  };
-***************
-*** 1109,1111 ****
---- 1110,1115 ----
-      , WV_WRAP
-      , WV_COUNT	    /* must be the last one */
-  };
-+ 
-+ /* Value for b_p_ul indicating the global value must be used. */
-+ #define NO_LOCAL_UNDOLEVEL -123456
-*** ../vim-7.4.072/src/structs.h	2013-11-05 07:12:59.000000000 +0100
---- src/structs.h	2013-11-06 04:26:17.000000000 +0100
-***************
-*** 1627,1632 ****
---- 1627,1633 ----
-      char_u	*b_p_dict;	/* 'dictionary' local value */
-      char_u	*b_p_tsr;	/* 'thesaurus' local value */
-  #endif
-+     long	b_p_ul;		/* 'undolevels' local value */
-  #ifdef FEAT_PERSISTENT_UNDO
-      int		b_p_udf;	/* 'undofile' */
-  #endif
-*** ../vim-7.4.072/src/undo.c	2013-09-08 15:40:45.000000000 +0200
---- src/undo.c	2013-11-06 04:33:12.000000000 +0100
-***************
-*** 83,88 ****
---- 83,89 ----
-  
-  #include "vim.h"
-  
-+ static long get_undolevel __ARGS((void));
-  static void u_unch_branch __ARGS((u_header_T *uhp));
-  static u_entry_T *u_get_headentry __ARGS((void));
-  static void u_getbot __ARGS((void));
-***************
-*** 336,341 ****
---- 337,353 ----
-  }
-  
-  /*
-+  * Get the undolevle value for the current buffer.
-+  */
-+     static long
-+ get_undolevel()
-+ {
-+     if (curbuf->b_p_ul == NO_LOCAL_UNDOLEVEL)
-+ 	return p_ul;
-+     return curbuf->b_p_ul;
-+ }
-+ 
-+ /*
-   * Common code for various ways to save text before a change.
-   * "top" is the line above the first changed line.
-   * "bot" is the line below the last changed line.
-***************
-*** 419,425 ****
-  	curbuf->b_new_change = TRUE;
-  #endif
-  
-! 	if (p_ul >= 0)
-  	{
-  	    /*
-  	     * Make a new header entry.  Do this first so that we don't mess
---- 431,437 ----
-  	curbuf->b_new_change = TRUE;
-  #endif
-  
-! 	if (get_undolevel() >= 0)
-  	{
-  	    /*
-  	     * Make a new header entry.  Do this first so that we don't mess
-***************
-*** 449,455 ****
-  	/*
-  	 * free headers to keep the size right
-  	 */
-! 	while (curbuf->b_u_numhead > p_ul && curbuf->b_u_oldhead != NULL)
-  	{
-  	    u_header_T	    *uhfree = curbuf->b_u_oldhead;
-  
---- 461,468 ----
-  	/*
-  	 * free headers to keep the size right
-  	 */
-! 	while (curbuf->b_u_numhead > get_undolevel()
-! 					       && curbuf->b_u_oldhead != NULL)
-  	{
-  	    u_header_T	    *uhfree = curbuf->b_u_oldhead;
-  
-***************
-*** 530,536 ****
-      }
-      else
-      {
-! 	if (p_ul < 0)		/* no undo at all */
-  	    return OK;
-  
-  	/*
---- 543,549 ----
-      }
-      else
-      {
-! 	if (get_undolevel() < 0)	/* no undo at all */
-  	    return OK;
-  
-  	/*
-***************
-*** 1972,1978 ****
-  	{
-  	    if (curbuf->b_u_curhead == NULL)		/* first undo */
-  		curbuf->b_u_curhead = curbuf->b_u_newhead;
-! 	    else if (p_ul > 0)				/* multi level undo */
-  		/* get next undo */
-  		curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr;
-  	    /* nothing to undo */
---- 1985,1991 ----
-  	{
-  	    if (curbuf->b_u_curhead == NULL)		/* first undo */
-  		curbuf->b_u_curhead = curbuf->b_u_newhead;
-! 	    else if (get_undolevel() > 0)		/* multi level undo */
-  		/* get next undo */
-  		curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr;
-  	    /* nothing to undo */
-***************
-*** 1993,1999 ****
-  	}
-  	else
-  	{
-! 	    if (curbuf->b_u_curhead == NULL || p_ul <= 0)
-  	    {
-  		beep_flush();	/* nothing to redo */
-  		if (count == startcount - 1)
---- 2006,2012 ----
-  	}
-  	else
-  	{
-! 	    if (curbuf->b_u_curhead == NULL || get_undolevel() <= 0)
-  	    {
-  		beep_flush();	/* nothing to redo */
-  		if (count == startcount - 1)
-***************
-*** 2751,2757 ****
-      if (im_is_preediting())
-  	return;		    /* XIM is busy, don't break an undo sequence */
-  #endif
-!     if (p_ul < 0)
-  	curbuf->b_u_synced = TRUE;  /* no entries, nothing to do */
-      else
-      {
---- 2764,2770 ----
-      if (im_is_preediting())
-  	return;		    /* XIM is busy, don't break an undo sequence */
-  #endif
-!     if (get_undolevel() < 0)
-  	curbuf->b_u_synced = TRUE;  /* no entries, nothing to do */
-      else
-      {
-***************
-*** 2911,2917 ****
-      }
-      if (!curbuf->b_u_synced)
-  	return;		    /* already unsynced */
-!     if (p_ul < 0)
-  	return;		    /* no entries, nothing to do */
-      else
-      {
---- 2924,2930 ----
-      }
-      if (!curbuf->b_u_synced)
-  	return;		    /* already unsynced */
-!     if (get_undolevel() < 0)
-  	return;		    /* no entries, nothing to do */
-      else
-      {
-*** ../vim-7.4.072/src/version.c	2013-11-06 04:04:29.000000000 +0100
---- src/version.c	2013-11-06 05:21:43.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     73,
-  /**/
-
--- 
-Living on Earth includes an annual free trip around the Sun.
-
- /// 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    ///
diff --git a/7.4.074 b/7.4.074
deleted file mode 100644
index 70045c0..0000000
--- a/7.4.074
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.074
-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.074
-Problem:    When undo'ing all changes and creating a new change the undo
-            structure is incorrect. (Christian Brabandt)
-Solution:   When deleting the branch starting at the old header, delete the
-            whole branch, not just the first entry.
-Files:      src/undo.c
-    
-
-*** ../vim-7.4.073/src/undo.c	2013-11-06 05:26:08.000000000 +0100
---- src/undo.c	2013-11-07 03:01:42.000000000 +0100
-***************
-*** 3121,3127 ****
-       * all the pointers. */
-      if (uhp == buf->b_u_oldhead)
-      {
-! 	u_freeheader(buf, uhp, uhpp);
-  	return;
-      }
-  
---- 3121,3128 ----
-       * all the pointers. */
-      if (uhp == buf->b_u_oldhead)
-      {
-! 	while (buf->b_u_oldhead != NULL)
-! 	    u_freeheader(buf, buf->b_u_oldhead, uhpp);
-  	return;
-      }
-  
-*** ../vim-7.4.073/src/version.c	2013-11-06 05:26:08.000000000 +0100
---- src/version.c	2013-11-07 03:03:02.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     74,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.075 b/7.4.075
deleted file mode 100644
index f7ba21e..0000000
--- a/7.4.075
+++ /dev/null
@@ -1,290 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.075
-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.075
-Problem:    Locally setting 'undolevels' is not tested.
-Solution:   Add a test. (Christian Brabandt)
-Files:      src/testdir/test100.in, src/testdir/test100.ok,
-            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/Makefile
-
-
-*** ../vim-7.4.074/src/testdir/test100.in	2013-11-07 03:24:56.000000000 +0100
---- src/testdir/test100.in	2013-11-07 03:20:32.000000000 +0100
-***************
-*** 0 ****
---- 1,42 ----
-+ Tests for 'undolevel' setting being global-local
-+ 
-+ STARTTEST
-+ :so small.vim
-+ :set nocompatible viminfo+=nviminfo ul=5
-+ :fu! FillBuffer()
-+   :for i in range(1,13)
-+     :put=i
-+     :exe "setg ul=" . &g:ul
-+   :endfor
-+ :endfu
-+ :fu! UndoLevel()
-+   :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end
-+   :$put a
-+ :endfu
-+ :new one
-+ :0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'
-+ :call FillBuffer()
-+ :call feedkeys(":earlier 10\n", 't')
-+ :call UndoLevel()
-+ :%w! test.out
-+ :new two
-+ :0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)'
-+ :setlocal ul=2
-+ :call FillBuffer()
-+ :call feedkeys(":earlier 10\n", 't')
-+ :call UndoLevel()
-+ :setlocal ul=10
-+ :call UndoLevel()
-+ :%w >> test.out
-+ :wincmd p
-+ :redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end
-+ :new three
-+ :setglobal ul=50
-+ :1put ='global value should be changed to 50'
-+ :2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)'
-+ :call UndoLevel()
-+ :%w >> test.out
-+ :"sleep 10
-+ :qa!
-+ ENDTEST
-+ 
-*** ../vim-7.4.074/src/testdir/test100.ok	2013-11-07 03:24:56.000000000 +0100
---- src/testdir/test100.ok	2013-11-07 03:11:51.000000000 +0100
-***************
-*** 0 ****
---- 1,41 ----
-+ ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
-+ 1
-+ 2
-+ 3
-+ 4
-+ 5
-+ 6
-+ 7
-+ 
-+ 
-+   undolevels=5 global
-+   undolevels=-123456 local
-+ TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)
-+ 1
-+ 2
-+ 3
-+ 4
-+ 5
-+ 6
-+ 7
-+ 8
-+ 9
-+ 10
-+ 
-+ 
-+   undolevels=5 global
-+   undolevels=2 local
-+ 
-+   undolevels=5 global
-+   undolevels=10 local
-+ 
-+ global value shouldn't be changed and still be 5!
-+ ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
-+   undolevels=5 global
-+   undolevels=-123456 local
-+ 
-+ global value should be changed to 50
-+ THREE: expecting global undolevels: 50, local undolevels: -123456 (default)
-+ 
-+   undolevels=50 global
-+   undolevels=-123456 local
-*** ../vim-7.4.074/src/testdir/Make_amiga.mak	2013-09-19 17:00:14.000000000 +0200
---- src/testdir/Make_amiga.mak	2013-11-07 03:07:57.000000000 +0100
-***************
-*** 34,40 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out
-  
-  .SUFFIXES: .in .out
-  
---- 34,40 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out test100.out
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 150,152 ****
---- 150,153 ----
-  test97.out: test97.in
-  test98.out: test98.in
-  test99.out: test99.in
-+ test100.out: test100.in
-*** ../vim-7.4.074/src/testdir/Make_dos.mak	2013-09-19 17:00:14.000000000 +0200
---- src/testdir/Make_dos.mak	2013-11-07 03:08:05.000000000 +0100
-***************
-*** 32,38 ****
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 32,39 ----
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.074/src/testdir/Make_ming.mak	2013-09-19 17:00:14.000000000 +0200
---- src/testdir/Make_ming.mak	2013-11-07 03:08:12.000000000 +0100
-***************
-*** 52,58 ****
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 52,59 ----
-  		test79.out test80.out test81.out test82.out test83.out \
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.074/src/testdir/Make_os2.mak	2013-09-19 17:00:14.000000000 +0200
---- src/testdir/Make_os2.mak	2013-11-07 03:08:18.000000000 +0100
-***************
-*** 34,40 ****
-  		test76.out test77.out test78.out test79.out test80.out \
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out
-  
-  .SUFFIXES: .in .out
-  
---- 34,41 ----
-  		test76.out test77.out test78.out test79.out test80.out \
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-! 		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.074/src/testdir/Make_vms.mms	2013-09-19 17:00:14.000000000 +0200
---- src/testdir/Make_vms.mms	2013-11-07 03:08:24.000000000 +0100
-***************
-*** 4,10 ****
-  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
-  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
-  #
-! # Last change:  2013 Sep 19
-  #
-  # 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:  2013 Nov 07
-  #
-  # 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.
-***************
-*** 78,84 ****
-  	 test77.out test78.out test79.out test80.out test81.out \
-  	 test82.out test83.out test84.out test88.out test89.out \
-  	 test90.out test91.out test92.out test93.out test94.out \
-! 	 test95.out test96.out test97.out test98.out test99.out
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
---- 78,85 ----
-  	 test77.out test78.out test79.out test80.out test81.out \
-  	 test82.out test83.out test84.out test88.out test89.out \
-  	 test90.out test91.out test92.out test93.out test94.out \
-! 	 test95.out test96.out test97.out test98.out test99.out \
-! 	 test100.out
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.4.074/src/testdir/Makefile	2013-09-22 15:03:34.000000000 +0200
---- src/testdir/Makefile	2013-11-07 03:08:31.000000000 +0100
-***************
-*** 30,36 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out
-  
-  SCRIPTS_GUI = test16.out
-  
---- 30,36 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out test100.out
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.074/src/Makefile	2013-08-10 14:21:15.000000000 +0200
---- src/Makefile	2013-11-07 03:10:40.000000000 +0100
-***************
-*** 1882,1888 ****
-  	test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
-  	test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
-  	test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
-! 	test90 test91 test92 test93 test94 test95 test96 test97 test98 test99:
-  	cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
-  
-  testclean:
---- 1883,1890 ----
-  	test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
-  	test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
-  	test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
-! 	test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
-! 	test100 test101 test102 test103 test104 test105 test106 test107:
-  	cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
-  
-  testclean:
-*** ../vim-7.4.074/src/version.c	2013-11-07 03:04:06.000000000 +0100
---- src/version.c	2013-11-07 03:10:10.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     75,
-  /**/
-
--- 
-Why is "abbreviation" such a long word?
-
- /// 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    ///
diff --git a/7.4.076 b/7.4.076
deleted file mode 100644
index fa9abbc..0000000
--- a/7.4.076
+++ /dev/null
@@ -1,66 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.076
-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.076
-Problem:    "cgn" does not wrap around the end of the file. (Dimitrov
-            Dimitrov)
-Solution:   Restore 'wrapscan' earlier. (Christian Brabandt)
-Files:      src/search.c
-    
-
-*** ../vim-7.4.075/src/search.c	2013-10-02 21:54:57.000000000 +0200
---- src/search.c	2013-11-07 04:38:46.000000000 +0100
-***************
-*** 4592,4598 ****
-  				ml_get(curwin->w_buffer->b_ml.ml_line_count));
-  	    }
-  	}
-! 
-      }
-  
-      start_pos = pos;
---- 4592,4598 ----
-  				ml_get(curwin->w_buffer->b_ml.ml_line_count));
-  	    }
-  	}
-! 	p_ws = old_p_ws;
-      }
-  
-      start_pos = pos;
-***************
-*** 4607,4613 ****
-      if (!VIsual_active)
-  	VIsual = start_pos;
-  
--     p_ws = old_p_ws;
-      curwin->w_cursor = pos;
-      VIsual_active = TRUE;
-      VIsual_mode = 'v';
---- 4607,4612 ----
-*** ../vim-7.4.075/src/version.c	2013-11-07 03:25:51.000000000 +0100
---- src/version.c	2013-11-07 04:44:44.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     76,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.077 b/7.4.077
deleted file mode 100644
index fd2d3d7..0000000
--- a/7.4.077
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.077
-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.077
-Problem:    DOS installer creates shortcut without a path, resulting in the
-            current directory to be C:\Windows\system32.
-Solution:   Use environment variables.
-Files:      src/dosinst.c
-    
-
-*** ../vim-7.4.076/src/dosinst.c	2013-05-06 04:06:04.000000000 +0200
---- src/dosinst.c	2013-11-06 18:18:47.000000000 +0100
-***************
-*** 1773,1781 ****
-  
-  /*
-   * We used to use "homedir" as the working directory, but that is a bad choice
-!  * on multi-user systems.  Not specifying a directory appears to work best.
-   */
-! #define WORKDIR ""
-  
-  /*
-   * Create shortcut(s) in the Start Menu\Programs\Vim folder.
---- 1773,1783 ----
-  
-  /*
-   * We used to use "homedir" as the working directory, but that is a bad choice
-!  * on multi-user systems.  However, not specifying a directory results in the
-!  * current directory to be c:\Windows\system32 on Windows 7. Use environment
-!  * variables instead.
-   */
-! #define WORKDIR "%HOMEDRIVE%%HOMEPATH%"
-  
-  /*
-   * Create shortcut(s) in the Start Menu\Programs\Vim folder.
-*** ../vim-7.4.076/src/version.c	2013-11-07 04:46:43.000000000 +0100
---- src/version.c	2013-11-07 04:47:42.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     77,
-  /**/
-
--- 
-JOHN CLEESE PLAYED: SECOND SOLDIER WITH A KEEN INTEREST IN BIRDS, LARGE MAN
-                    WITH DEAD BODY, BLACK KNIGHT, MR NEWT (A VILLAGE
-                    BLACKSMITH INTERESTED IN BURNING WITCHES), A QUITE
-                    EXTRAORDINARILY RUDE FRENCHMAN, TIM THE WIZARD, SIR
-                    LAUNCELOT
-                 "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    ///
diff --git a/7.4.078 b/7.4.078
deleted file mode 100644
index 56b5076..0000000
--- a/7.4.078
+++ /dev/null
@@ -1,114 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.078
-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.078
-Problem:    MSVC 2013 is not supported.
-Solution:   Recognize and support MSVC 2013. (Ed Brown)
-Files:      src/Make_mvc.mak
-
-
-*** ../vim-7.4.077/src/Make_mvc.mak	2013-07-09 13:13:12.000000000 +0200
---- src/Make_mvc.mak	2013-11-08 03:12:48.000000000 +0100
-***************
-*** 424,429 ****
---- 424,432 ----
-  !if "$(_NMAKE_VER)" == "11.00.60610.1"
-  MSVCVER = 11.0
-  !endif
-+ !if "$(_NMAKE_VER)" == "12.00.21005.1"
-+ MSVCVER = 12.0
-+ !endif
-  !endif
-  
-  # Abort building VIM if version of VC is unrecognised.
-***************
-*** 438,444 ****
-  !endif
-  
-  # Convert processor ID to MVC-compatible number
-! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0")
-  !if "$(CPUNR)" == "i386"
-  CPUARG = /G3
-  !elseif "$(CPUNR)" == "i486"
---- 441,447 ----
-  !endif
-  
-  # Convert processor ID to MVC-compatible number
-! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") && ("$(MSVCVER)" != "12.0")
-  !if "$(CPUNR)" == "i386"
-  CPUARG = /G3
-  !elseif "$(CPUNR)" == "i486"
-***************
-*** 472,478 ****
-  OPTFLAG = /Ox
-  !endif
-  
-! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
-  # Use link time code generation if not worried about size
-  !if "$(OPTIMIZE)" != "SPACE"
-  OPTFLAG = $(OPTFLAG) /GL
---- 475,481 ----
-  OPTFLAG = /Ox
-  !endif
-  
-! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
-  # Use link time code generation if not worried about size
-  !if "$(OPTIMIZE)" != "SPACE"
-  OPTFLAG = $(OPTFLAG) /GL
-***************
-*** 485,491 ****
-  !endif
-  
-  # Static code analysis generally available starting with VS2012
-! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0")
-  CFLAGS=$(CFLAGS) /analyze
-  !endif
-  
---- 488,494 ----
-  !endif
-  
-  # Static code analysis generally available starting with VS2012
-! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0")
-  CFLAGS=$(CFLAGS) /analyze
-  !endif
-  
-***************
-*** 943,949 ****
-  
-  # Report link time code generation progress if used. 
-  !ifdef NODEBUG
-! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
-  !if "$(OPTIMIZE)" != "SPACE"
-  LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
-  !endif
---- 946,952 ----
-  
-  # Report link time code generation progress if used. 
-  !ifdef NODEBUG
-! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
-  !if "$(OPTIMIZE)" != "SPACE"
-  LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
-  !endif
-*** ../vim-7.4.077/src/version.c	2013-11-07 04:49:23.000000000 +0100
---- src/version.c	2013-11-08 03:13:56.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     78,
-  /**/
-
--- 
-Every time I lose weight, it finds me again!
-
- /// 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    ///
diff --git a/7.4.079 b/7.4.079
deleted file mode 100644
index fbda97d..0000000
--- a/7.4.079
+++ /dev/null
@@ -1,470 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.079
-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.079
-Problem:    A script cannot detect whether 'hlsearch' highlighting is actually
-            displayed.
-Solution:   Add the "v:hlsearch" variable. (ZyX)
-Files:      src/runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
-            src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h,
-            src/testdir/test101.in, src/testdir/test101.ok,
-            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
-
-
-diff: ../vim-7.4.078/src/runtime/doc/eval.txt: No such file or directory
-diff: src/runtime/doc/eval.txt: No such file or directory
-*** ../vim-7.4.078/src/eval.c	2013-11-05 07:12:59.000000000 +0100
---- src/eval.c	2013-11-08 04:11:46.000000000 +0100
-***************
-*** 356,361 ****
---- 356,362 ----
-      {VV_NAME("mouse_col",	 VAR_NUMBER), 0},
-      {VV_NAME("operator",	 VAR_STRING), VV_RO},
-      {VV_NAME("searchforward",	 VAR_NUMBER), 0},
-+     {VV_NAME("hlsearch",	 VAR_NUMBER), 0},
-      {VV_NAME("oldfiles",	 VAR_LIST), 0},
-      {VV_NAME("windowid",	 VAR_NUMBER), VV_RO},
-  };
-***************
-*** 871,876 ****
---- 872,878 ----
-  	    hash_add(&compat_hashtab, p->vv_di.di_key);
-      }
-      set_vim_var_nr(VV_SEARCHFORWARD, 1L);
-+     set_vim_var_nr(VV_HLSEARCH, 1L);
-      set_reg_var(0);  /* default for v:register is not 0 but '"' */
-  
-  #ifdef EBCDIC
-***************
-*** 20613,20618 ****
---- 20615,20627 ----
-  		v->di_tv.vval.v_number = get_tv_number(tv);
-  		if (STRCMP(varname, "searchforward") == 0)
-  		    set_search_direction(v->di_tv.vval.v_number ? '/' : '?');
-+ #ifdef FEAT_SEARCH_EXTRA
-+ 		else if (STRCMP(varname, "hlsearch") == 0)
-+ 		{
-+ 		    no_hlsearch = !v->di_tv.vval.v_number;
-+ 		    redraw_all_later(SOME_VALID);
-+ 		}
-+ #endif
-  	    }
-  	    return;
-  	}
-*** ../vim-7.4.078/src/ex_docmd.c	2013-07-24 15:09:37.000000000 +0200
---- src/ex_docmd.c	2013-11-08 04:17:01.000000000 +0100
-***************
-*** 11389,11395 ****
-  ex_nohlsearch(eap)
-      exarg_T	*eap UNUSED;
-  {
-!     no_hlsearch = TRUE;
-      redraw_all_later(SOME_VALID);
-  }
-  
---- 11389,11395 ----
-  ex_nohlsearch(eap)
-      exarg_T	*eap UNUSED;
-  {
-!     SET_NO_HLSEARCH(TRUE);
-      redraw_all_later(SOME_VALID);
-  }
-  
-*** ../vim-7.4.078/src/option.c	2013-11-06 05:26:08.000000000 +0100
---- src/option.c	2013-11-08 04:17:32.000000000 +0100
-***************
-*** 7811,7817 ****
-      /* when 'hlsearch' is set or reset: reset no_hlsearch */
-      else if ((int *)varp == &p_hls)
-      {
-! 	no_hlsearch = FALSE;
-      }
-  #endif
-  
---- 7811,7817 ----
-      /* when 'hlsearch' is set or reset: reset no_hlsearch */
-      else if ((int *)varp == &p_hls)
-      {
-! 	SET_NO_HLSEARCH(FALSE);
-      }
-  #endif
-  
-*** ../vim-7.4.078/src/screen.c	2013-07-13 12:23:00.000000000 +0200
---- src/screen.c	2013-11-08 04:17:48.000000000 +0100
-***************
-*** 7447,7453 ****
-  	    {
-  		/* don't free regprog in the match list, it's a copy */
-  		vim_regfree(shl->rm.regprog);
-! 		no_hlsearch = TRUE;
-  	    }
-  	    shl->rm.regprog = NULL;
-  	    shl->lnum = 0;
---- 7447,7453 ----
-  	    {
-  		/* don't free regprog in the match list, it's a copy */
-  		vim_regfree(shl->rm.regprog);
-! 		SET_NO_HLSEARCH(TRUE);
-  	    }
-  	    shl->rm.regprog = NULL;
-  	    shl->lnum = 0;
-*** ../vim-7.4.078/src/search.c	2013-11-07 04:46:43.000000000 +0100
---- src/search.c	2013-11-08 04:18:57.000000000 +0100
-***************
-*** 289,295 ****
-  	/* If 'hlsearch' set and search pat changed: need redraw. */
-  	if (p_hls)
-  	    redraw_all_later(SOME_VALID);
-! 	no_hlsearch = FALSE;
-  #endif
-      }
-  }
---- 289,295 ----
-  	/* If 'hlsearch' set and search pat changed: need redraw. */
-  	if (p_hls)
-  	    redraw_all_later(SOME_VALID);
-! 	SET_NO_HLSEARCH(FALSE);
-  #endif
-      }
-  }
-***************
-*** 333,339 ****
-  	spats[1] = saved_spats[1];
-  	last_idx = saved_last_idx;
-  # ifdef FEAT_SEARCH_EXTRA
-! 	no_hlsearch = saved_no_hlsearch;
-  # endif
-      }
-  }
---- 333,339 ----
-  	spats[1] = saved_spats[1];
-  	last_idx = saved_last_idx;
-  # ifdef FEAT_SEARCH_EXTRA
-! 	SET_NO_HLSEARCH(saved_no_hlsearch);
-  # endif
-      }
-  }
-***************
-*** 1148,1154 ****
-      if (no_hlsearch && !(options & SEARCH_KEEP))
-      {
-  	redraw_all_later(SOME_VALID);
-! 	no_hlsearch = FALSE;
-      }
-  #endif
-  
---- 1148,1154 ----
-      if (no_hlsearch && !(options & SEARCH_KEEP))
-      {
-  	redraw_all_later(SOME_VALID);
-! 	SET_NO_HLSEARCH(FALSE);
-      }
-  #endif
-  
-***************
-*** 5561,5567 ****
-  		spats[idx].off.off = off;
-  #ifdef FEAT_SEARCH_EXTRA
-  		if (setlast)
-! 		    no_hlsearch = !hlsearch_on;
-  #endif
-  	    }
-  	}
---- 5561,5569 ----
-  		spats[idx].off.off = off;
-  #ifdef FEAT_SEARCH_EXTRA
-  		if (setlast)
-! 		{
-! 		    SET_NO_HLSEARCH(!hlsearch_on);
-! 		}
-  #endif
-  	    }
-  	}
-*** ../vim-7.4.078/src/tag.c	2013-09-05 12:06:26.000000000 +0200
---- src/tag.c	2013-11-08 04:19:14.000000000 +0100
-***************
-*** 3330,3336 ****
-  #ifdef FEAT_SEARCH_EXTRA
-  	/* restore no_hlsearch when keeping the old search pattern */
-  	if (search_options)
-! 	    no_hlsearch = save_no_hlsearch;
-  #endif
-  
-  	/* Return OK if jumped to another file (at least we found the file!). */
---- 3330,3338 ----
-  #ifdef FEAT_SEARCH_EXTRA
-  	/* restore no_hlsearch when keeping the old search pattern */
-  	if (search_options)
-! 	{
-! 	    SET_NO_HLSEARCH(save_no_hlsearch);
-! 	}
-  #endif
-  
-  	/* Return OK if jumped to another file (at least we found the file!). */
-*** ../vim-7.4.078/src/vim.h	2013-08-02 16:02:27.000000000 +0200
---- src/vim.h	2013-11-08 04:16:57.000000000 +0100
-***************
-*** 1864,1872 ****
-  #define VV_MOUSE_COL	51
-  #define VV_OP		52
-  #define VV_SEARCHFORWARD 53
-! #define VV_OLDFILES	54
-! #define VV_WINDOWID	55
-! #define VV_LEN		56	/* number of v: vars */
-  
-  #ifdef FEAT_CLIPBOARD
-  
---- 1864,1873 ----
-  #define VV_MOUSE_COL	51
-  #define VV_OP		52
-  #define VV_SEARCHFORWARD 53
-! #define VV_HLSEARCH	54
-! #define VV_OLDFILES	55
-! #define VV_WINDOWID	56
-! #define VV_LEN		57	/* number of v: vars */
-  
-  #ifdef FEAT_CLIPBOARD
-  
-***************
-*** 2246,2249 ****
---- 2247,2256 ----
-  /* Character used as separated in autoload function/variable names. */
-  #define AUTOLOAD_CHAR '#'
-  
-+ #ifdef FEAT_EVAL
-+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch)
-+ #else
-+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag)
-+ #endif
-+ 
-  #endif /* VIM__H */
-*** ../vim-7.4.078/src/testdir/test101.in	2013-11-08 04:28:49.000000000 +0100
---- src/testdir/test101.in	2013-11-08 04:11:46.000000000 +0100
-***************
-*** 0 ****
---- 1,45 ----
-+ Test for v:hlsearch     vim: set ft=vim :
-+ 
-+ STARTTEST
-+ :" Last abc: Q
-+ :so small.vim
-+ :new
-+ :call setline(1, repeat(['aaa'], 10))
-+ :set hlsearch nolazyredraw
-+ :let r=[]
-+ :command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch])
-+ /aaa
-+ :AddR
-+ :nohlsearch
-+ :AddR
-+ :let v:hlsearch=1
-+ :AddR
-+ :let v:hlsearch=0
-+ :AddR
-+ :set hlsearch
-+ :AddR
-+ :let v:hlsearch=0
-+ :AddR
-+ n:AddR
-+ :let v:hlsearch=0
-+ :AddR
-+ /
-+ :AddR
-+ :let r1=r[0][0]
-+ :" I guess it is not guaranteed that screenattr outputs always the same character
-+ :call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")')
-+ :try
-+ :   let v:hlsearch=[]
-+ :catch
-+ :   call add(r, matchstr(v:exception,'^Vim(let):E\d\+:'))
-+ :endtry
-+ :bwipeout!
-+ :$put=r
-+ :call garbagecollect(1)
-+ :"
-+ :/^start:/,$wq! test.out
-+ :" vim: et ts=4 isk-=\:
-+ :call getchar()
-+ ENDTEST
-+ 
-+ start:
-*** ../vim-7.4.078/src/testdir/test101.ok	2013-11-08 04:28:49.000000000 +0100
---- src/testdir/test101.ok	2013-11-08 04:11:46.000000000 +0100
-***************
-*** 0 ****
---- 1,11 ----
-+ start:
-+ 1:highlighted
-+ 0:not highlighted
-+ 1:highlighted
-+ 0:not highlighted
-+ 1:highlighted
-+ 0:not highlighted
-+ 1:highlighted
-+ 0:not highlighted
-+ 1:highlighted
-+ Vim(let):E706:
-*** ../vim-7.4.078/src/testdir/Make_amiga.mak	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/Make_amiga.mak	2013-11-08 04:22:13.000000000 +0100
-***************
-*** 34,40 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out test100.out
-  
-  .SUFFIXES: .in .out
-  
---- 34,40 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 151,153 ****
---- 151,154 ----
-  test98.out: test98.in
-  test99.out: test99.in
-  test100.out: test100.in
-+ test101.out: test101.in
-*** ../vim-7.4.078/src/testdir/Make_dos.mak	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/Make_dos.mak	2013-11-08 04:22:17.000000000 +0100
-***************
-*** 33,39 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 33,39 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out test101.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.078/src/testdir/Make_ming.mak	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/Make_ming.mak	2013-11-08 04:22:19.000000000 +0100
-***************
-*** 53,59 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 53,59 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out test101.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.078/src/testdir/Make_os2.mak	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/Make_os2.mak	2013-11-08 04:22:21.000000000 +0100
-***************
-*** 35,41 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out
-  
-  .SUFFIXES: .in .out
-  
---- 35,41 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out test101.out
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.078/src/testdir/Make_vms.mms	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/Make_vms.mms	2013-11-08 04:22:23.000000000 +0100
-***************
-*** 4,10 ****
-  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
-  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
-  #
-! # Last change:  2013 Nov 07
-  #
-  # 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:  2013 Nov 08
-  #
-  # 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.
-***************
-*** 79,85 ****
-  	 test82.out test83.out test84.out test88.out test89.out \
-  	 test90.out test91.out test92.out test93.out test94.out \
-  	 test95.out test96.out test97.out test98.out test99.out \
-! 	 test100.out
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
---- 79,85 ----
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.4.078/src/testdir/Makefile	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/Makefile	2013-11-08 04:22:26.000000000 +0100
-***************
-*** 30,36 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test97.out test98.out \
-! 		test99.out test100.out
-  
-  SCRIPTS_GUI = test16.out
-  
---- 30,36 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.078/src/version.c	2013-11-08 03:15:39.000000000 +0100
---- src/version.c	2013-11-08 04:11:08.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     79,
-  /**/
-
--- 
-Corn oil comes from corn and olive oil comes from olives, so where
-does baby oil come from?
-
- /// 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    ///
diff --git a/7.4.080 b/7.4.080
deleted file mode 100644
index eeec1de..0000000
--- a/7.4.080
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.080
-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.080 (after 7.4.079)
-Problem:    Missing documentation for v:hlsearch.
-Solution:   Include the right file in the patch.
-Files:      runtime/doc/eval.txt
-
-
-*** ../vim-7.4.079/runtime/doc/eval.txt	2013-11-02 23:29:17.000000000 +0100
---- runtime/doc/eval.txt	2013-11-08 04:20:27.000000000 +0100
-***************
-*** 1454,1459 ****
---- 1455,1467 ----
-  v:foldstart	Used for 'foldtext': first line of closed fold.
-  		Read-only in the |sandbox|. |fold-foldtext|
-  
-+ 					*v:hlsearch* *hlsearch-variable*
-+ v:hlsearch	Variable that determines whether search highlighting is on. 
-+ 		Makes sense only if 'hlsearch' is enabled which requires 
-+ 		|+extra_search|. Setting this variable to zero acts the like 
-+ 		|:nohlsearch| command, setting it to one acts like >
-+ 			let &hlsearch = &hlsearch
-+ <
-  					*v:insertmode* *insertmode-variable*
-  v:insertmode	Used for the |InsertEnter| and |InsertChange| autocommand
-  		events.  Values:
-*** ../vim-7.4.079/src/version.c	2013-11-08 04:30:06.000000000 +0100
---- src/version.c	2013-11-09 01:42:56.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     80,
-  /**/
-
--- 
-The chat program is in public domain.  This is not the GNU public license.
-If it breaks then you get to keep both pieces.
-		-- Copyright notice for the chat program
-
- /// 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    ///
diff --git a/7.4.081 b/7.4.081
deleted file mode 100644
index b2c61d9..0000000
--- a/7.4.081
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.081
-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.081 (after 7.4.078)
-Problem:    Wrong logic when ANALYZE is "yes".
-Solution:   Use or instead of and. (KF Leong)
-Files:      src/Make_mvc.mak
-
-
-*** ../vim-7.4.080/src/Make_mvc.mak	2013-11-08 03:15:39.000000000 +0100
---- src/Make_mvc.mak	2013-11-08 18:02:54.000000000 +0100
-***************
-*** 488,494 ****
-  !endif
-  
-  # Static code analysis generally available starting with VS2012
-! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0")
-  CFLAGS=$(CFLAGS) /analyze
-  !endif
-  
---- 488,494 ----
-  !endif
-  
-  # Static code analysis generally available starting with VS2012
-! !if ("$(ANALYZE)" == "yes") && (("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0"))
-  CFLAGS=$(CFLAGS) /analyze
-  !endif
-  
-*** ../vim-7.4.080/src/version.c	2013-11-09 01:44:38.000000000 +0100
---- src/version.c	2013-11-09 02:31:34.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     81,
-  /**/
-
--- 
-Wi n0t trei a h0liday in Sweden thi yer?
-                 "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    ///
diff --git a/7.4.082 b/7.4.082
deleted file mode 100644
index 03089d6..0000000
--- a/7.4.082
+++ /dev/null
@@ -1,344 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.082
-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.082
-Problem:    Using "gf" in a changed buffer suggests adding "!", which is not
-            possible. (Tim Chase)
-Solution:   Pass a flag to check_changed() wether adding ! make sense.
-Files:      src/vim.h, src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/globals.h,
-            src/ex_cmds.c, src/ex_docmd.c
-
-
-*** ../vim-7.4.081/src/vim.h	2013-11-08 04:30:06.000000000 +0100
---- src/vim.h	2013-11-09 03:00:00.000000000 +0100
-***************
-*** 1176,1181 ****
---- 1176,1190 ----
-  #define RESIZE_BOTH	15	/* resize in both directions */
-  
-  /*
-+  * flags for check_changed()
-+  */
-+ #define CCGD_AW		1	/* do autowrite if buffer was changed */
-+ #define CCGD_MULTWIN	2	/* check also when several wins for the buf */
-+ #define CCGD_FORCEIT	4	/* ! used */
-+ #define CCGD_ALLBUF	8	/* may write all buffers */
-+ #define CCGD_EXCMD	16	/* may suggest using ! */
-+ 
-+ /*
-   * "flags" values for option-setting functions.
-   * When OPT_GLOBAL and OPT_LOCAL are both missing, set both local and global
-   * values, get local value.
-*** ../vim-7.4.081/src/ex_cmds2.c	2013-06-28 20:14:53.000000000 +0200
---- src/ex_cmds2.c	2013-11-09 03:14:44.000000000 +0100
-***************
-*** 1436,1455 ****
-  }
-  
-  /*
-!  * return TRUE if buffer was changed and cannot be abandoned.
-   */
-      int
-! check_changed(buf, checkaw, mult_win, forceit, allbuf)
-      buf_T	*buf;
-!     int		checkaw;	/* do autowrite if buffer was changed */
-!     int		mult_win;	/* check also when several wins for the buf */
-!     int		forceit;
-!     int		allbuf UNUSED;	/* may write all buffers */
-  {
-      if (       !forceit
-  	    && bufIsChanged(buf)
-! 	    && (mult_win || buf->b_nwindows <= 1)
-! 	    && (!checkaw || autowrite(buf, forceit) == FAIL))
-      {
-  #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
-  	if ((p_confirm || cmdmod.confirm) && p_write)
---- 1436,1455 ----
-  }
-  
-  /*
-!  * Return TRUE if buffer was changed and cannot be abandoned.
-!  * For flags use the CCGD_ values.
-   */
-      int
-! check_changed(buf, flags)
-      buf_T	*buf;
-!     int		flags;
-  {
-+     int forceit = (flags & CCGD_FORCEIT);
-+ 
-      if (       !forceit
-  	    && bufIsChanged(buf)
-! 	    && ((flags & CCGD_MULTWIN) || buf->b_nwindows <= 1)
-! 	    && (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL))
-      {
-  #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
-  	if ((p_confirm || cmdmod.confirm) && p_write)
-***************
-*** 1457,1463 ****
-  	    buf_T	*buf2;
-  	    int		count = 0;
-  
-! 	    if (allbuf)
-  		for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next)
-  		    if (bufIsChanged(buf2)
-  				     && (buf2->b_ffname != NULL
---- 1457,1463 ----
-  	    buf_T	*buf2;
-  	    int		count = 0;
-  
-! 	    if (flags & CCGD_ALLBUF)
-  		for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next)
-  		    if (bufIsChanged(buf2)
-  				     && (buf2->b_ffname != NULL
-***************
-*** 1480,1486 ****
-  	    return bufIsChanged(buf);
-  	}
-  #endif
-! 	EMSG(_(e_nowrtmsg));
-  	return TRUE;
-      }
-      return FALSE;
---- 1480,1489 ----
-  	    return bufIsChanged(buf);
-  	}
-  #endif
-! 	if (flags & CCGD_EXCMD)
-! 	    EMSG(_(e_nowrtmsg));
-! 	else
-! 	    EMSG(_(e_nowrtmsg_nobang));
-  	return TRUE;
-      }
-      return FALSE;
-***************
-*** 1690,1696 ****
-  	{
-  	    /* Try auto-writing the buffer.  If this fails but the buffer no
-  	    * longer exists it's not changed, that's OK. */
-! 	    if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf))
-  		break;	    /* didn't save - still changes */
-  	}
-      }
---- 1693,1701 ----
-  	{
-  	    /* Try auto-writing the buffer.  If this fails but the buffer no
-  	    * longer exists it's not changed, that's OK. */
-! 	    if (check_changed(buf, (p_awa ? CCGD_AW : 0)
-! 				 | CCGD_MULTWIN
-! 				 | CCGD_ALLBUF) && buf_valid(buf))
-  		break;	    /* didn't save - still changes */
-  	}
-      }
-***************
-*** 2274,2280 ****
-  		vim_free(p);
-  	    }
-  	    if ((!P_HID(curbuf) || !other)
-! 		  && check_changed(curbuf, TRUE, !other, eap->forceit, FALSE))
-  		return;
-  	}
-  
---- 2279,2288 ----
-  		vim_free(p);
-  	    }
-  	    if ((!P_HID(curbuf) || !other)
-! 		  && check_changed(curbuf, CCGD_AW
-! 					 | (other ? 0 : CCGD_MULTWIN)
-! 					 | (eap->forceit ? CCGD_FORCEIT : 0)
-! 					 | CCGD_EXCMD))
-  		return;
-  	}
-  
-***************
-*** 2315,2321 ****
-       */
-      if (       P_HID(curbuf)
-  	    || eap->cmdidx == CMD_snext
-! 	    || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE))
-      {
-  	if (*eap->arg != NUL)		    /* redefine file list */
-  	{
---- 2323,2331 ----
-       */
-      if (       P_HID(curbuf)
-  	    || eap->cmdidx == CMD_snext
-! 	    || !check_changed(curbuf, CCGD_AW
-! 				    | (eap->forceit ? CCGD_FORCEIT : 0)
-! 				    | CCGD_EXCMD))
-      {
-  	if (*eap->arg != NUL)		    /* redefine file list */
-  	{
-***************
-*** 2458,2464 ****
-      if (eap->cmdidx == CMD_windo
-  	    || eap->cmdidx == CMD_tabdo
-  	    || P_HID(curbuf)
-! 	    || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE))
-      {
-  	/* start at the first argument/window/buffer */
-  	i = 0;
---- 2468,2476 ----
-      if (eap->cmdidx == CMD_windo
-  	    || eap->cmdidx == CMD_tabdo
-  	    || P_HID(curbuf)
-! 	    || !check_changed(curbuf, CCGD_AW
-! 				    | (eap->forceit ? CCGD_FORCEIT : 0)
-! 				    | CCGD_EXCMD))
-      {
-  	/* start at the first argument/window/buffer */
-  	i = 0;
-*** ../vim-7.4.081/src/proto/ex_cmds2.pro	2013-08-10 13:37:10.000000000 +0200
---- src/proto/ex_cmds2.pro	2013-11-09 03:18:02.000000000 +0100
-***************
-*** 35,41 ****
-  int prof_def_func __ARGS((void));
-  int autowrite __ARGS((buf_T *buf, int forceit));
-  void autowrite_all __ARGS((void));
-! int check_changed __ARGS((buf_T *buf, int checkaw, int mult_win, int forceit, int allbuf));
-  void browse_save_fname __ARGS((buf_T *buf));
-  void dialog_changed __ARGS((buf_T *buf, int checkall));
-  int can_abandon __ARGS((buf_T *buf, int forceit));
---- 35,41 ----
-  int prof_def_func __ARGS((void));
-  int autowrite __ARGS((buf_T *buf, int forceit));
-  void autowrite_all __ARGS((void));
-! int check_changed __ARGS((buf_T *buf, int flags));
-  void browse_save_fname __ARGS((buf_T *buf));
-  void dialog_changed __ARGS((buf_T *buf, int checkall));
-  int can_abandon __ARGS((buf_T *buf, int forceit));
-*** ../vim-7.4.081/src/globals.h	2013-07-04 19:53:44.000000000 +0200
---- src/globals.h	2013-11-09 03:05:54.000000000 +0100
-***************
-*** 1490,1495 ****
---- 1490,1496 ----
-  EXTERN char_u e_notopen[]	INIT(= N_("E484: Can't open file %s"));
-  EXTERN char_u e_notread[]	INIT(= N_("E485: Can't read file %s"));
-  EXTERN char_u e_nowrtmsg[]	INIT(= N_("E37: No write since last change (add ! to override)"));
-+ EXTERN char_u e_nowrtmsg_nobang[]   INIT(= N_("E37: No write since last change"));
-  EXTERN char_u e_null[]		INIT(= N_("E38: Null argument"));
-  #ifdef FEAT_DIGRAPHS
-  EXTERN char_u e_number_exp[]	INIT(= N_("E39: Number expected"));
-*** ../vim-7.4.081/src/ex_cmds.c	2013-10-02 18:43:00.000000000 +0200
---- src/ex_cmds.c	2013-11-09 03:19:25.000000000 +0100
-***************
-*** 3253,3260 ****
-      if (  ((!other_file && !(flags & ECMD_OLDBUF))
-  	    || (curbuf->b_nwindows == 1
-  		&& !(flags & (ECMD_HIDE | ECMD_ADDBUF))))
-! 	&& check_changed(curbuf, p_awa, !other_file,
-! 					(flags & ECMD_FORCEIT), FALSE))
-      {
-  	if (fnum == 0 && other_file && ffname != NULL)
-  	    (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum);
---- 3253,3262 ----
-      if (  ((!other_file && !(flags & ECMD_OLDBUF))
-  	    || (curbuf->b_nwindows == 1
-  		&& !(flags & (ECMD_HIDE | ECMD_ADDBUF))))
-! 	&& check_changed(curbuf, (p_awa ? CCGD_AW : 0)
-! 			       | (other_file ? 0 : CCGD_MULTWIN)
-! 			       | ((flags & ECMD_FORCEIT) ? CCGD_FORCEIT : 0)
-! 			       | (eap == NULL ? 0 : CCGD_EXCMD)))
-      {
-  	if (fnum == 0 && other_file && ffname != NULL)
-  	    (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum);
-***************
-*** 7664,7670 ****
-  # ifdef FEAT_WINDOWS
-  	    ++emsg_off;
-  # endif
-! 	    split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE);
-  # ifdef FEAT_WINDOWS
-  	    --emsg_off;
-  # else
---- 7666,7672 ----
-  # ifdef FEAT_WINDOWS
-  	    ++emsg_off;
-  # endif
-! 	    split = check_changed(curbuf, CCGD_AW | CCGD_EXCMD);
-  # ifdef FEAT_WINDOWS
-  	    --emsg_off;
-  # else
-*** ../vim-7.4.081/src/ex_docmd.c	2013-11-08 04:30:06.000000000 +0100
---- src/ex_docmd.c	2013-11-09 03:30:10.000000000 +0100
-***************
-*** 6565,6571 ****
-      if (check_more(FALSE, eap->forceit) == OK && only_one_window())
-  	exiting = TRUE;
-      if ((!P_HID(curbuf)
-! 		&& check_changed(curbuf, p_awa, FALSE, eap->forceit, FALSE))
-  	    || check_more(TRUE, eap->forceit) == FAIL
-  	    || (only_one_window() && check_changed_any(eap->forceit)))
-      {
---- 6565,6573 ----
-      if (check_more(FALSE, eap->forceit) == OK && only_one_window())
-  	exiting = TRUE;
-      if ((!P_HID(curbuf)
-! 		&& check_changed(curbuf, (p_awa ? CCGD_AW : 0)
-! 				       | (eap->forceit ? CCGD_FORCEIT : 0)
-! 				       | CCGD_EXCMD))
-  	    || check_more(TRUE, eap->forceit) == FAIL
-  	    || (only_one_window() && check_changed_any(eap->forceit)))
-      {
-***************
-*** 7099,7105 ****
-      if (!P_HID(curbuf) && !split)
-      {
-  	++emsg_off;
-! 	split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE);
-  	--emsg_off;
-      }
-      if (split)
---- 7101,7107 ----
-      if (!P_HID(curbuf) && !split)
-      {
-  	++emsg_off;
-! 	split = check_changed(curbuf, CCGD_AW);
-  	--emsg_off;
-      }
-      if (split)
-***************
-*** 7361,7367 ****
-  {
-      /* Set recoverymode right away to avoid the ATTENTION prompt. */
-      recoverymode = TRUE;
-!     if (!check_changed(curbuf, p_awa, TRUE, eap->forceit, FALSE)
-  	    && (*eap->arg == NUL
-  			     || setfname(curbuf, eap->arg, NULL, TRUE) == OK))
-  	ml_recover();
---- 7363,7373 ----
-  {
-      /* Set recoverymode right away to avoid the ATTENTION prompt. */
-      recoverymode = TRUE;
-!     if (!check_changed(curbuf, (p_awa ? CCGD_AW : 0)
-! 			     | CCGD_MULTWIN
-! 			     | (eap->forceit ? CCGD_FORCEIT : 0)
-! 			     | CCGD_EXCMD)
-! 
-  	    && (*eap->arg == NUL
-  			     || setfname(curbuf, eap->arg, NULL, TRUE) == OK))
-  	ml_recover();
-*** ../vim-7.4.081/src/version.c	2013-11-09 02:32:15.000000000 +0100
---- src/version.c	2013-11-09 03:26:06.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     82,
-  /**/
-
--- 
-People who want to share their religious views with you
-almost never want you to share yours with them.
-
- /// 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    ///
diff --git a/7.4.083 b/7.4.083
deleted file mode 100644
index c71450e..0000000
--- a/7.4.083
+++ /dev/null
@@ -1,136 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.083
-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.083
-Problem:    It's hard to avoid adding a used pattern to the search history.
-Solution:   Add the ":keeppatterns" modifier. (Christian Brabandt)
-Files:      runtime/doc/cmdline.txt, src/ex_cmds.h, src/ex_docmd.c,
-            src/ex_getln.c, src/structs.h
-
-
-*** ../vim-7.4.082/runtime/doc/cmdline.txt	2013-08-10 13:24:52.000000000 +0200
---- runtime/doc/cmdline.txt	2013-11-09 04:26:30.000000000 +0100
-***************
-*** 356,361 ****
---- 356,365 ----
-  		List the recent five entries from all histories: >
-  			:history all -5,
-  
-+ :keepp[atterns] {command}			*:keepp* *:keeppatterns*
-+ 		Execute {command}, without adding anything to the search
-+ 		history
-+ 
-  ==============================================================================
-  2. Command-line completion				*cmdline-completion*
-  
-*** ../vim-7.4.082/src/ex_cmds.h	2013-06-08 15:08:20.000000000 +0200
---- src/ex_cmds.h	2013-11-09 04:26:30.000000000 +0100
-***************
-*** 477,482 ****
---- 477,484 ----
-  			NEEDARG|EXTRA|NOTRLCOM),
-  EX(CMD_keepjumps,	"keepjumps",	ex_wrongmodifier,
-  			NEEDARG|EXTRA|NOTRLCOM),
-+ EX(CMD_keeppatterns,	"keeppatterns",	ex_wrongmodifier,
-+ 			NEEDARG|EXTRA|NOTRLCOM),
-  EX(CMD_keepalt,		"keepalt",	ex_wrongmodifier,
-  			NEEDARG|EXTRA|NOTRLCOM),
-  EX(CMD_list,		"list",		ex_print,
-*** ../vim-7.4.082/src/ex_docmd.c	2013-11-09 03:31:45.000000000 +0100
---- src/ex_docmd.c	2013-11-09 04:31:36.000000000 +0100
-***************
-*** 1843,1848 ****
---- 1843,1853 ----
-  			    cmdmod.keepalt = TRUE;
-  			    continue;
-  			}
-+ 			if (checkforcmd(&ea.cmd, "keeppatterns", 5))
-+ 			{
-+ 			    cmdmod.keeppatterns = TRUE;
-+ 			    continue;
-+ 			}
-  			if (!checkforcmd(&ea.cmd, "keepjumps", 5))
-  			    break;
-  			cmdmod.keepjumps = TRUE;
-***************
-*** 2584,2589 ****
---- 2589,2595 ----
-  	    case CMD_keepalt:
-  	    case CMD_keepjumps:
-  	    case CMD_keepmarks:
-+ 	    case CMD_keeppatterns:
-  	    case CMD_leftabove:
-  	    case CMD_let:
-  	    case CMD_lockmarks:
-***************
-*** 3089,3094 ****
---- 3095,3101 ----
-      {"keepalt", 5, FALSE},
-      {"keepjumps", 5, FALSE},
-      {"keepmarks", 3, FALSE},
-+     {"keeppatterns", 5, FALSE},
-      {"leftabove", 5, FALSE},
-      {"lockmarks", 3, FALSE},
-      {"noautocmd", 3, FALSE},
-***************
-*** 3597,3602 ****
---- 3604,3610 ----
-  	case CMD_keepalt:
-  	case CMD_keepjumps:
-  	case CMD_keepmarks:
-+ 	case CMD_keeppatterns:
-  	case CMD_leftabove:
-  	case CMD_lockmarks:
-  	case CMD_rightbelow:
-*** ../vim-7.4.082/src/ex_getln.c	2013-11-05 07:12:59.000000000 +0100
---- src/ex_getln.c	2013-11-09 04:26:30.000000000 +0100
-***************
-*** 5498,5503 ****
---- 5498,5506 ----
-      if (hislen == 0)		/* no history */
-  	return;
-  
-+     if (cmdmod.keeppatterns && histype == HIST_SEARCH)
-+ 	return;
-+ 
-      /*
-       * Searches inside the same mapping overwrite each other, so that only
-       * the last line is kept.  Be careful not to remove a line that was moved
-*** ../vim-7.4.082/src/structs.h	2013-11-06 05:26:08.000000000 +0100
---- src/structs.h	2013-11-09 04:26:30.000000000 +0100
-***************
-*** 542,547 ****
---- 542,548 ----
-      int		keepmarks;		/* TRUE when ":keepmarks" was used */
-      int		keepjumps;		/* TRUE when ":keepjumps" was used */
-      int		lockmarks;		/* TRUE when ":lockmarks" was used */
-+     int		keeppatterns;		/* TRUE when ":keeppatterns" was used */
-  # ifdef FEAT_AUTOCMD
-      char_u	*save_ei;		/* saved value of 'eventignore' */
-  # endif
-*** ../vim-7.4.082/src/version.c	2013-11-09 03:31:45.000000000 +0100
---- src/version.c	2013-11-09 04:29:07.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     83,
-  /**/
-
--- 
-I am always surprised in the Linux world how quickly solutions can be
-obtained.  (Imagine sending an email to Bill Gates, asking why Windows
-crashed, and how to fix it...  and then getting an answer that fixed the
-problem... <0>_<0> !)		              -- Mark Langdon
-
- /// 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    ///
diff --git a/7.4.084 b/7.4.084
deleted file mode 100644
index 142e251..0000000
--- a/7.4.084
+++ /dev/null
@@ -1,184 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.084
-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.084
-Problem:    Python: interrupt not being properly discarded. (Yggdroot Chen)
-Solution:   Discard interrupt in VimTryEnd. (ZyX)
-Files:      src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
-            src/testdir/test87.in, src/testdir/test87.ok
-
-
-*** ../vim-7.4.083/src/if_py_both.h	2013-11-04 00:34:47.000000000 +0100
---- src/if_py_both.h	2013-11-11 00:56:41.000000000 +0100
-***************
-*** 558,564 ****
-      /* Keyboard interrupt should be preferred over anything else */
-      if (got_int)
-      {
-! 	did_throw = got_int = FALSE;
-  	PyErr_SetNone(PyExc_KeyboardInterrupt);
-  	return -1;
-      }
---- 558,568 ----
-      /* Keyboard interrupt should be preferred over anything else */
-      if (got_int)
-      {
-! 	if (current_exception != NULL)
-! 	    discard_current_exception();
-! 	else
-! 	    need_rethrow = did_throw = FALSE;
-! 	got_int = FALSE;
-  	PyErr_SetNone(PyExc_KeyboardInterrupt);
-  	return -1;
-      }
-***************
-*** 567,573 ****
-      /* Python exception is preferred over vim one; unlikely to occur though */
-      else if (PyErr_Occurred())
-      {
-! 	did_throw = FALSE;
-  	return -1;
-      }
-      /* Finally transform VimL exception to python one */
---- 571,580 ----
-      /* Python exception is preferred over vim one; unlikely to occur though */
-      else if (PyErr_Occurred())
-      {
-! 	if (current_exception != NULL)
-! 	    discard_current_exception();
-! 	else
-! 	    need_rethrow = did_throw = FALSE;
-  	return -1;
-      }
-      /* Finally transform VimL exception to python one */
-*** ../vim-7.4.083/src/testdir/test86.in	2013-11-04 00:34:47.000000000 +0100
---- src/testdir/test86.in	2013-11-11 00:56:11.000000000 +0100
-***************
-*** 1281,1286 ****
---- 1281,1317 ----
-  EOF
-  :delfunction Exe
-  :"
-+ :" Regression: interrupting vim.command propagates to next vim.command
-+ py << EOF
-+ def test_keyboard_interrupt():
-+     try:
-+         vim.command('while 1 | endwhile')
-+     except KeyboardInterrupt:
-+         cb.append('Caught KeyboardInterrupt')
-+     except Exception:
-+         cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info))
-+     else:
-+         cb.append('!!!!!!!! No exception')
-+     try:
-+         vim.command('$ put =\'Running :put\'')
-+     except KeyboardInterrupt:
-+         cb.append('!!!!!!!! Caught KeyboardInterrupt')
-+     except Exception:
-+         cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info))
-+     else:
-+         cb.append('No exception')
-+ EOF
-+ :debuggreedy
-+ :call inputsave()
-+ :call feedkeys("s\ns\ns\ns\nq\n")
-+ :redir => output
-+ :debug silent! py test_keyboard_interrupt()
-+ :redir END
-+ :0 debuggreedy
-+ :silent $put =output
-+ :unlet output
-+ :py del test_keyboard_interrupt
-+ :"
-  :" Cleanup
-  py << EOF
-  del cb
-*** ../vim-7.4.083/src/testdir/test86.ok	2013-11-04 00:34:47.000000000 +0100
---- src/testdir/test86.ok	2013-11-11 00:56:11.000000000 +0100
-***************
-*** 1198,1200 ****
---- 1198,1204 ----
-  vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',)
-  vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
-  vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
-+ Caught KeyboardInterrupt
-+ Running :put
-+ No exception
-+ 
-*** ../vim-7.4.083/src/testdir/test87.in	2013-11-04 00:34:47.000000000 +0100
---- src/testdir/test87.in	2013-11-11 00:56:11.000000000 +0100
-***************
-*** 1232,1237 ****
---- 1232,1268 ----
-  EOF
-  :delfunction Exe
-  :"
-+ :" Regression: interrupting vim.command propagates to next vim.command
-+ py3 << EOF
-+ def test_keyboard_interrupt():
-+     try:
-+         vim.command('while 1 | endwhile')
-+     except KeyboardInterrupt:
-+         cb.append('Caught KeyboardInterrupt')
-+     except Exception as e:
-+         cb.append('!!!!!!!! Caught exception: ' + repr(e))
-+     else:
-+         cb.append('!!!!!!!! No exception')
-+     try:
-+         vim.command('$ put =\'Running :put\'')
-+     except KeyboardInterrupt:
-+         cb.append('!!!!!!!! Caught KeyboardInterrupt')
-+     except Exception as e:
-+         cb.append('!!!!!!!! Caught exception: ' + repr(e))
-+     else:
-+         cb.append('No exception')
-+ EOF
-+ :debuggreedy
-+ :call inputsave()
-+ :call feedkeys("s\ns\ns\ns\nq\n")
-+ :redir => output
-+ :debug silent! py3 test_keyboard_interrupt()
-+ :redir END
-+ :0 debuggreedy
-+ :silent $put =output
-+ :unlet output
-+ :py3 del test_keyboard_interrupt
-+ :"
-  :" Cleanup
-  py3 << EOF
-  del cb
-*** ../vim-7.4.083/src/testdir/test87.ok	2013-11-04 00:34:47.000000000 +0100
---- src/testdir/test87.ok	2013-11-11 00:56:11.000000000 +0100
-***************
-*** 1187,1189 ****
---- 1187,1193 ----
-  vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkl',))
-  vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
-  vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
-+ Caught KeyboardInterrupt
-+ Running :put
-+ No exception
-+ 
-*** ../vim-7.4.083/src/version.c	2013-11-09 05:30:18.000000000 +0100
---- src/version.c	2013-11-11 00:55:23.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     84,
-  /**/
-
--- 
-Computers make very fast, very accurate, mistakes.
-
- /// 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    ///
diff --git a/7.4.085 b/7.4.085
deleted file mode 100644
index a6e9a80..0000000
--- a/7.4.085
+++ /dev/null
@@ -1,118 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.085
-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.085
-Problem:    When inserting text in Visual block mode and moving the cursor the
-            wrong text gets repeated in other lines.
-Solution:   Use the '[ mark to find the start of the actually inserted text.
-            (Christian Brabandt)
-Files:      src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
-
-
-*** ../vim-7.4.084/src/ops.c	2013-11-05 07:12:59.000000000 +0100
---- src/ops.c	2013-11-11 01:23:14.000000000 +0100
-***************
-*** 2640,2645 ****
---- 2640,2670 ----
-      {
-  	struct block_def	bd2;
-  
-+ 	/* The user may have moved the cursor before inserting something, try
-+ 	 * to adjust the block for that. */
-+ 	if (oap->start.lnum == curbuf->b_op_start.lnum)
-+ 	{
-+ 	    if (oap->op_type == OP_INSERT
-+ 		    && oap->start.col != curbuf->b_op_start.col)
-+ 	    {
-+ 		oap->start.col = curbuf->b_op_start.col;
-+ 		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
-+ 							    - oap->start_vcol;
-+ 		oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
-+ 	    }
-+ 	    else if (oap->op_type == OP_APPEND
-+ 		    && oap->end.col >= curbuf->b_op_start.col)
-+ 	    {
-+ 		oap->start.col = curbuf->b_op_start.col;
-+ 		/* reset pre_textlen to the value of OP_INSERT */
-+ 		pre_textlen += bd.textlen;
-+ 		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
-+ 							    - oap->start_vcol;
-+ 		oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
-+ 		oap->op_type = OP_INSERT;
-+ 	    }
-+ 	}
-+ 
-  	/*
-  	 * Spaces and tabs in the indent may have changed to other spaces and
-  	 * tabs.  Get the starting column again and correct the length.
-*** ../vim-7.4.084/src/testdir/test39.in	2013-11-04 01:41:11.000000000 +0100
---- src/testdir/test39.in	2013-11-11 01:20:51.000000000 +0100
-***************
-*** 19,24 ****
---- 19,28 ----
-  :" Test block-change
-  G$khhhhhkkcmno
-  :$-4,$w! test.out
-+ :" Test block-insert using cursor keys for movement
-+ /^aaaa/
-+ :exe ":norm! l\<C-V>jjjlllI\<Right>\<Right>  \<Esc>"
-+ :/^aa/,/^$/w >> test.out
-  :" gUe must uppercase a whole word, also when � changes to SS
-  Gothe youtu�euu endYpk0wgUe
-  :" gUfx must uppercase until x, inclusive.
-***************
-*** 40,45 ****
---- 44,54 ----
-  :qa!
-  ENDTEST
-  
-+ aaaaaa
-+ bbbbbb
-+ cccccc
-+ dddddd
-+ 
-  abcdefghijklm
-  abcdefghijklm
-  abcdefghijklm
-*** ../vim-7.4.084/src/testdir/test39.ok	2013-11-04 01:41:11.000000000 +0100
---- src/testdir/test39.ok	2013-11-11 01:20:51.000000000 +0100
-***************
-*** 3,8 ****
---- 3,13 ----
-  axyzqqqqef mno        ghijklm
-  axyzqqqqefgmnoklm
-  abcdqqqqijklm
-+ aaa  aaa
-+ bbb  bbb
-+ ccc  ccc
-+ ddd  ddd
-+ 
-  the YOUTUSSEUU end
-  - yOUSSTUSSEXu -
-  THE YOUTUSSEUU END
-*** ../vim-7.4.084/src/version.c	2013-11-11 01:05:43.000000000 +0100
---- src/version.c	2013-11-11 01:18:01.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     85,
-  /**/
-
--- 
-SOLDIER: What?  Ridden on a horse?
-ARTHUR:  Yes!
-SOLDIER: You're using coconuts!
-                 "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    ///
diff --git a/7.4.086 b/7.4.086
deleted file mode 100644
index 46f9eb9..0000000
--- a/7.4.086
+++ /dev/null
@@ -1,145 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.086
-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.086
-Problem:    Skipping over an expression when not evaluating it does not work
-            properly for dict members.
-Solution:   Skip over unrecognized expression. (ZyX)
-Files:      src/eval.c, src/testdir/test34.in, src/testdir/test34.ok
-
-
-*** ../vim-7.4.085/src/eval.c	2013-11-08 04:30:06.000000000 +0100
---- src/eval.c	2013-11-11 04:11:38.000000000 +0100
-***************
-*** 19845,19868 ****
-      while (ret == OK
-  	    && (**arg == '['
-  		|| (**arg == '.' && rettv->v_type == VAR_DICT)
-! 		|| (**arg == '(' && rettv->v_type == VAR_FUNC))
-  	    && !vim_iswhite(*(*arg - 1)))
-      {
-  	if (**arg == '(')
-  	{
-  	    /* need to copy the funcref so that we can clear rettv */
-! 	    functv = *rettv;
-! 	    rettv->v_type = VAR_UNKNOWN;
-  
-! 	    /* Invoke the function.  Recursive! */
-! 	    s = functv.vval.v_string;
-  	    ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
-  			curwin->w_cursor.lnum, curwin->w_cursor.lnum,
-  			&len, evaluate, selfdict);
-  
-  	    /* Clear the funcref afterwards, so that deleting it while
-  	     * evaluating the arguments is possible (see test55). */
-! 	    clear_tv(&functv);
-  
-  	    /* Stop the expression evaluation when immediately aborting on
-  	     * error, or when an interrupt occurred or an exception was thrown
---- 19845,19874 ----
-      while (ret == OK
-  	    && (**arg == '['
-  		|| (**arg == '.' && rettv->v_type == VAR_DICT)
-! 		|| (**arg == '(' && (!evaluate || rettv->v_type == VAR_FUNC)))
-  	    && !vim_iswhite(*(*arg - 1)))
-      {
-  	if (**arg == '(')
-  	{
-  	    /* need to copy the funcref so that we can clear rettv */
-! 	    if (evaluate)
-! 	    {
-! 		functv = *rettv;
-! 		rettv->v_type = VAR_UNKNOWN;
-  
-! 		/* Invoke the function.  Recursive! */
-! 		s = functv.vval.v_string;
-! 	    }
-! 	    else
-! 		s = (char_u *)"";
-  	    ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
-  			curwin->w_cursor.lnum, curwin->w_cursor.lnum,
-  			&len, evaluate, selfdict);
-  
-  	    /* Clear the funcref afterwards, so that deleting it while
-  	     * evaluating the arguments is possible (see test55). */
-! 	    if (evaluate)
-! 		clear_tv(&functv);
-  
-  	    /* Stop the expression evaluation when immediately aborting on
-  	     * error, or when an interrupt occurred or an exception was thrown
-*** ../vim-7.4.085/src/testdir/test34.in	2012-07-16 16:51:29.000000000 +0200
---- src/testdir/test34.in	2013-11-11 04:10:13.000000000 +0100
-***************
-*** 1,6 ****
---- 1,7 ----
-  Test for user functions.
-  Also test an <expr> mapping calling a function.
-  Also test that a builtin function cannot be replaced.
-+ Also test for regression when calling arbitrary expression.
-  
-  STARTTEST
-  :so small.vim
-***************
-*** 62,68 ****
-  [(one again:call append(line('$'), max([1, 2, 3]))
-  :call extend(g:, {'max': function('min')})
-  :call append(line('$'), max([1, 2, 3]))
-! :$-7,$w! test.out
-  :delfunc Table
-  :delfunc Compute
-  :delfunc Expr1
---- 63,79 ----
-  [(one again:call append(line('$'), max([1, 2, 3]))
-  :call extend(g:, {'max': function('min')})
-  :call append(line('$'), max([1, 2, 3]))
-! :try
-! :    " Regression: the first line below used to throw ?E110: Missing ')'?
-! :    " Second is here just to prove that this line is correct when not skipping
-! :    " rhs of &&.
-! :    $put =(0&&(function('tr'))(1, 2, 3))
-! :    $put =(1&&(function('tr'))(1, 2, 3))
-! :catch
-! :    $put ='!!! Unexpected exception:'
-! :    $put =v:exception
-! :endtry
-! :$-9,$w! test.out
-  :delfunc Table
-  :delfunc Compute
-  :delfunc Expr1
-*** ../vim-7.4.085/src/testdir/test34.ok	2012-07-16 16:43:15.000000000 +0200
---- src/testdir/test34.ok	2013-11-11 04:10:13.000000000 +0100
-***************
-*** 6,8 ****
---- 6,10 ----
-  1. one again
-  3
-  3
-+ 0
-+ 1
-*** ../vim-7.4.085/src/version.c	2013-11-11 01:29:16.000000000 +0100
---- src/version.c	2013-11-11 04:15:59.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     86,
-  /**/
-
--- 
-ARTHUR: The swallow may fly south with the sun, or the house martin or the
-        plover seek warmer hot lands in winter, yet these are not strangers to
-        our land.
-SOLDIER: Are you suggesting coconuts migrate?
-                 "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    ///
diff --git a/7.4.087 b/7.4.087
deleted file mode 100644
index b8c1a48..0000000
--- a/7.4.087
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.087
-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.087
-Problem:    Compiler warning on 64 bit Windows systems.
-Solution:   Fix type cast. (Mike Williams)
-Files:      src/ops.c
-
-
-*** ../vim-7.4.086/src/ops.c	2013-11-11 01:29:16.000000000 +0100
---- src/ops.c	2013-11-11 23:16:06.000000000 +0100
-***************
-*** 2193,2199 ****
-  	    else
-  	    {
-  		/* Replacing with \r or \n means splitting the line. */
-! 		after_p = alloc_check((unsigned)oldlen + 1 + n - STRLEN(newp));
-  		if (after_p != NULL)
-  		    STRMOVE(after_p, oldp);
-  	    }
---- 2193,2200 ----
-  	    else
-  	    {
-  		/* Replacing with \r or \n means splitting the line. */
-! 		after_p = alloc_check(
-! 				   (unsigned)(oldlen + 1 + n - STRLEN(newp)));
-  		if (after_p != NULL)
-  		    STRMOVE(after_p, oldp);
-  	    }
-*** ../vim-7.4.086/src/version.c	2013-11-11 04:25:48.000000000 +0100
---- src/version.c	2013-11-11 23:16:23.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     87,
-  /**/
-
-
--- 
-SECOND SOLDIER: It could be carried by an African swallow!
-FIRST SOLDIER:  Oh  yes! An African swallow maybe ... but not a European
-                swallow. that's my point.
-                 "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    ///
diff --git a/7.4.088 b/7.4.088
deleted file mode 100644
index 62dc91c..0000000
--- a/7.4.088
+++ /dev/null
@@ -1,564 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.088
-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.088
-Problem:    When spell checking is enabled Asian characters are always marked
-            as error.
-Solution:   When 'spelllang' contains "cjk" do not mark Asian characters as
-            error. (Ken Takata)
-Files:      runtime/doc/options.txt, runtime/doc/spell.txt, src/mbyte.c,
-            src/option.c, src/spell.c, src/structs.h
-
-
-*** ../vim-7.4.087/runtime/doc/options.txt	2013-11-06 05:26:08.000000000 +0100
---- runtime/doc/options.txt	2013-11-12 04:00:51.000000000 +0100
-***************
-*** 6555,6560 ****
---- 6555,6563 ----
-  	region by listing them: "en_us,en_ca" supports both US and Canadian
-  	English, but not words specific for Australia, New Zealand or Great
-  	Britain.
-+ 	If the name "cjk" is included East Asian characters are excluded from
-+ 	spell checking.  This is useful when editing text that also has Asian
-+ 	words.
-  							*E757*
-  	As a special case the name of a .spl file can be given as-is.  The
-  	first "_xx" in the name is removed and used as the region name
-*** ../vim-7.4.087/runtime/doc/spell.txt	2013-08-10 13:25:01.000000000 +0200
---- runtime/doc/spell.txt	2013-11-12 04:02:27.000000000 +0100
-***************
-*** 269,274 ****
---- 269,281 ----
-  	latin1		yi		transliterated Yiddish
-  	utf-8		yi-tr		transliterated Yiddish
-  
-+ 							*spell-cjk*
-+ Chinese, Japanese and other East Asian characters are normally marked as
-+ errors, because spell checking of these characters is not supported. If
-+ 'spelllang' includes "cjk", these characters are not marked as errors.  This
-+ is useful when editing text with spell checking while some Asian words are
-+ present.
-+ 
-  
-  SPELL FILES						*spell-load*
-  
-*** ../vim-7.4.087/src/mbyte.c	2013-07-05 20:07:21.000000000 +0200
---- src/mbyte.c	2013-11-12 03:55:50.000000000 +0100
-***************
-*** 947,954 ****
-  		{
-  		    case 0x2121: /* ZENKAKU space */
-  			return 0;
-! 		    case 0x2122: /* KU-TEN (Japanese comma) */
-! 		    case 0x2123: /* TOU-TEN (Japanese period) */
-  		    case 0x2124: /* ZENKAKU comma */
-  		    case 0x2125: /* ZENKAKU period */
-  			return 1;
---- 947,954 ----
-  		{
-  		    case 0x2121: /* ZENKAKU space */
-  			return 0;
-! 		    case 0x2122: /* TOU-TEN (Japanese comma) */
-! 		    case 0x2123: /* KU-TEN (Japanese period) */
-  		    case 0x2124: /* ZENKAKU comma */
-  		    case 0x2125: /* ZENKAKU period */
-  			return 1;
-***************
-*** 2477,2485 ****
-      /* sorted list of non-overlapping intervals */
-      static struct clinterval
-      {
-! 	unsigned short first;
-! 	unsigned short last;
-! 	unsigned short class;
-      } classes[] =
-      {
-  	{0x037e, 0x037e, 1},		/* Greek question mark */
---- 2477,2485 ----
-      /* sorted list of non-overlapping intervals */
-      static struct clinterval
-      {
-! 	unsigned int first;
-! 	unsigned int last;
-! 	unsigned int class;
-      } classes[] =
-      {
-  	{0x037e, 0x037e, 1},		/* Greek question mark */
-***************
-*** 2544,2549 ****
---- 2544,2553 ----
-  	{0xff1a, 0xff20, 1},		/* half/fullwidth ASCII */
-  	{0xff3b, 0xff40, 1},		/* half/fullwidth ASCII */
-  	{0xff5b, 0xff65, 1},		/* half/fullwidth ASCII */
-+ 	{0x20000, 0x2a6df, 0x4e00},	/* CJK Ideographs */
-+ 	{0x2a700, 0x2b73f, 0x4e00},	/* CJK Ideographs */
-+ 	{0x2b740, 0x2b81f, 0x4e00},	/* CJK Ideographs */
-+ 	{0x2f800, 0x2fa1f, 0x4e00},	/* CJK Ideographs */
-      };
-      int bot = 0;
-      int top = sizeof(classes) / sizeof(struct clinterval) - 1;
-***************
-*** 2563,2571 ****
-      while (top >= bot)
-      {
-  	mid = (bot + top) / 2;
-! 	if (classes[mid].last < c)
-  	    bot = mid + 1;
-! 	else if (classes[mid].first > c)
-  	    top = mid - 1;
-  	else
-  	    return (int)classes[mid].class;
---- 2567,2575 ----
-      while (top >= bot)
-      {
-  	mid = (bot + top) / 2;
-! 	if (classes[mid].last < (unsigned int)c)
-  	    bot = mid + 1;
-! 	else if (classes[mid].first > (unsigned int)c)
-  	    top = mid - 1;
-  	else
-  	    return (int)classes[mid].class;
-*** ../vim-7.4.087/src/option.c	2013-11-08 04:30:06.000000000 +0100
---- src/option.c	2013-11-12 04:34:46.000000000 +0100
-***************
-*** 7122,7127 ****
---- 7122,7132 ----
-  	if (varp == &(curwin->w_s->b_p_spl))
-  	{
-  	    char_u	fname[200];
-+ 	    char_u	*q = curwin->w_s->b_p_spl;
-+ 
-+ 	    /* Skip the first name if it is "cjk". */
-+ 	    if (STRNCMP(q, "cjk,", 4) == 0)
-+ 		q += 4;
-  
-  	    /*
-  	     * Source the spell/LANG.vim in 'runtimepath'.
-***************
-*** 7129,7139 ****
-  	     * Use the first name in 'spelllang' up to '_region' or
-  	     * '.encoding'.
-  	     */
-! 	    for (p = curwin->w_s->b_p_spl; *p != NUL; ++p)
-  		if (vim_strchr((char_u *)"_.,", *p) != NULL)
-  		    break;
-! 	    vim_snprintf((char *)fname, 200, "spell/%.*s.vim",
-! 				 (int)(p - curwin->w_s->b_p_spl), curwin->w_s->b_p_spl);
-  	    source_runtime(fname, TRUE);
-  	}
-  #endif
---- 7134,7143 ----
-  	     * Use the first name in 'spelllang' up to '_region' or
-  	     * '.encoding'.
-  	     */
-! 	    for (p = q; *p != NUL; ++p)
-  		if (vim_strchr((char_u *)"_.,", *p) != NULL)
-  		    break;
-! 	    vim_snprintf((char *)fname, 200, "spell/%.*s.vim", (int)(p - q), q);
-  	    source_runtime(fname, TRUE);
-  	}
-  #endif
-*** ../vim-7.4.087/src/spell.c	2013-09-29 13:38:25.000000000 +0200
---- src/spell.c	2013-11-12 04:37:33.000000000 +0100
-***************
-*** 754,762 ****
-  static void clear_spell_chartab __ARGS((spelltab_T *sp));
-  static int set_spell_finish __ARGS((spelltab_T	*new_st));
-  static int spell_iswordp __ARGS((char_u *p, win_T *wp));
-! static int spell_iswordp_nmw __ARGS((char_u *p));
-  #ifdef FEAT_MBYTE
-! static int spell_mb_isword_class __ARGS((int cl));
-  static int spell_iswordp_w __ARGS((int *p, win_T *wp));
-  #endif
-  static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap));
---- 754,762 ----
-  static void clear_spell_chartab __ARGS((spelltab_T *sp));
-  static int set_spell_finish __ARGS((spelltab_T	*new_st));
-  static int spell_iswordp __ARGS((char_u *p, win_T *wp));
-! static int spell_iswordp_nmw __ARGS((char_u *p, win_T *wp));
-  #ifdef FEAT_MBYTE
-! static int spell_mb_isword_class __ARGS((int cl, win_T *wp));
-  static int spell_iswordp_w __ARGS((int *p, win_T *wp));
-  #endif
-  static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap));
-***************
-*** 1149,1155 ****
-  
-  	/* When we are at a non-word character there is no error, just
-  	 * skip over the character (try looking for a word after it). */
-! 	else if (!spell_iswordp_nmw(ptr))
-  	{
-  	    if (capcol != NULL && wp->w_s->b_cap_prog != NULL)
-  	    {
---- 1149,1155 ----
-  
-  	/* When we are at a non-word character there is no error, just
-  	 * skip over the character (try looking for a word after it). */
-! 	else if (!spell_iswordp_nmw(ptr, wp))
-  	{
-  	    if (capcol != NULL && wp->w_s->b_cap_prog != NULL)
-  	    {
-***************
-*** 1561,1567 ****
-  			 * accept a no-caps word, even when the dictionary
-  			 * word specifies ONECAP. */
-  			mb_ptr_back(mip->mi_word, p);
-! 			if (spell_iswordp_nmw(p)
-  				? capflags == WF_ONECAP
-  				: (flags & WF_ONECAP) != 0
-  						     && capflags != WF_ONECAP)
---- 1561,1567 ----
-  			 * accept a no-caps word, even when the dictionary
-  			 * word specifies ONECAP. */
-  			mb_ptr_back(mip->mi_word, p);
-! 			if (spell_iswordp_nmw(p, mip->mi_win)
-  				? capflags == WF_ONECAP
-  				: (flags & WF_ONECAP) != 0
-  						     && capflags != WF_ONECAP)
-***************
-*** 4234,4240 ****
-      if (spl_copy == NULL)
-  	goto theend;
-  
-!     /* loop over comma separated language names. */
-      for (splp = spl_copy; *splp != NUL; )
-      {
-  	/* Get one language name. */
---- 4234,4242 ----
-      if (spl_copy == NULL)
-  	goto theend;
-  
-!     wp->w_s->b_cjk = 0;
-! 
-!     /* Loop over comma separated language names. */
-      for (splp = spl_copy; *splp != NUL; )
-      {
-  	/* Get one language name. */
-***************
-*** 4242,4247 ****
---- 4244,4255 ----
-  	region = NULL;
-  	len = (int)STRLEN(lang);
-  
-+ 	if (STRCMP(lang, "cjk") == 0)
-+ 	{
-+ 	    wp->w_s->b_cjk = 1;
-+ 	    continue;
-+ 	}
-+ 
-  	/* If the name ends in ".spl" use it as the name of the spell file.
-  	 * If there is a region name let "region" point to it and remove it
-  	 * from the name. */
-***************
-*** 4601,4607 ****
-      int		past_second = FALSE;	/* past second word char */
-  
-      /* find first letter */
-!     for (p = word; !spell_iswordp_nmw(p); mb_ptr_adv(p))
-  	if (end == NULL ? *p == NUL : p >= end)
-  	    return 0;	    /* only non-word characters, illegal word */
-  #ifdef FEAT_MBYTE
---- 4609,4615 ----
-      int		past_second = FALSE;	/* past second word char */
-  
-      /* find first letter */
-!     for (p = word; !spell_iswordp_nmw(p, curwin); mb_ptr_adv(p))
-  	if (end == NULL ? *p == NUL : p >= end)
-  	    return 0;	    /* only non-word characters, illegal word */
-  #ifdef FEAT_MBYTE
-***************
-*** 4617,4623 ****
-       * But a word with an upper char only at start is a ONECAP.
-       */
-      for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p))
-! 	if (spell_iswordp_nmw(p))
-  	{
-  	    c = PTR2CHAR(p);
-  	    if (!SPELL_ISUPPER(c))
---- 4625,4631 ----
-       * But a word with an upper char only at start is a ONECAP.
-       */
-      for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p))
-! 	if (spell_iswordp_nmw(p, curwin))
-  	{
-  	    c = PTR2CHAR(p);
-  	    if (!SPELL_ISUPPER(c))
-***************
-*** 9907,9913 ****
-  
-  	c = mb_ptr2char(s);
-  	if (c > 255)
-! 	    return spell_mb_isword_class(mb_get_class(s));
-  	return spelltab.st_isw[c];
-      }
-  #endif
---- 9915,9921 ----
-  
-  	c = mb_ptr2char(s);
-  	if (c > 255)
-! 	    return spell_mb_isword_class(mb_get_class(s), wp);
-  	return spelltab.st_isw[c];
-      }
-  #endif
-***************
-*** 9920,9927 ****
-   * Unlike spell_iswordp() this doesn't check for "midword" characters.
-   */
-      static int
-! spell_iswordp_nmw(p)
-      char_u	*p;
-  {
-  #ifdef FEAT_MBYTE
-      int		c;
---- 9928,9936 ----
-   * Unlike spell_iswordp() this doesn't check for "midword" characters.
-   */
-      static int
-! spell_iswordp_nmw(p, wp)
-      char_u	*p;
-+     win_T	*wp;
-  {
-  #ifdef FEAT_MBYTE
-      int		c;
-***************
-*** 9930,9936 ****
-      {
-  	c = mb_ptr2char(p);
-  	if (c > 255)
-! 	    return spell_mb_isword_class(mb_get_class(p));
-  	return spelltab.st_isw[c];
-      }
-  #endif
---- 9939,9945 ----
-      {
-  	c = mb_ptr2char(p);
-  	if (c > 255)
-! 	    return spell_mb_isword_class(mb_get_class(p), wp);
-  	return spelltab.st_isw[c];
-      }
-  #endif
-***************
-*** 9942,9952 ****
-   * Return TRUE if word class indicates a word character.
-   * Only for characters above 255.
-   * Unicode subscript and superscript are not considered word characters.
-   */
-      static int
-! spell_mb_isword_class(cl)
-!     int cl;
-  {
-      return cl >= 2 && cl != 0x2070 && cl != 0x2080;
-  }
-  
---- 9951,9966 ----
-   * Return TRUE if word class indicates a word character.
-   * Only for characters above 255.
-   * Unicode subscript and superscript are not considered word characters.
-+  * See also dbcs_class() and utf_class() in mbyte.c.
-   */
-      static int
-! spell_mb_isword_class(cl, wp)
-!     int		cl;
-!     win_T	*wp;
-  {
-+     if (wp->w_s->b_cjk)
-+ 	/* East Asian characters are not considered word characters. */
-+ 	return cl == 2 || cl == 0x2800;
-      return cl >= 2 && cl != 0x2070 && cl != 0x2080;
-  }
-  
-***************
-*** 9971,9979 ****
-      if (*s > 255)
-      {
-  	if (enc_utf8)
-! 	    return spell_mb_isword_class(utf_class(*s));
-  	if (enc_dbcs)
-! 	    return dbcs_class((unsigned)*s >> 8, *s & 0xff) >= 2;
-  	return 0;
-      }
-      return spelltab.st_isw[*s];
---- 9985,9994 ----
-      if (*s > 255)
-      {
-  	if (enc_utf8)
-! 	    return spell_mb_isword_class(utf_class(*s), wp);
-  	if (enc_dbcs)
-! 	    return spell_mb_isword_class(
-! 				dbcs_class((unsigned)*s >> 8, *s & 0xff), wp);
-  	return 0;
-      }
-      return spelltab.st_isw[*s];
-***************
-*** 10193,10205 ****
-  	line = ml_get_curline();
-  	p = line + curwin->w_cursor.col;
-  	/* Backup to before start of word. */
-! 	while (p > line && spell_iswordp_nmw(p))
-  	    mb_ptr_back(line, p);
-  	/* Forward to start of word. */
-! 	while (*p != NUL && !spell_iswordp_nmw(p))
-  	    mb_ptr_adv(p);
-  
-! 	if (!spell_iswordp_nmw(p))		/* No word found. */
-  	{
-  	    beep_flush();
-  	    return;
---- 10208,10220 ----
-  	line = ml_get_curline();
-  	p = line + curwin->w_cursor.col;
-  	/* Backup to before start of word. */
-! 	while (p > line && spell_iswordp_nmw(p, curwin))
-  	    mb_ptr_back(line, p);
-  	/* Forward to start of word. */
-! 	while (*p != NUL && !spell_iswordp_nmw(p, curwin))
-  	    mb_ptr_adv(p);
-  
-! 	if (!spell_iswordp_nmw(p, curwin))		/* No word found. */
-  	{
-  	    beep_flush();
-  	    return;
-***************
-*** 10436,10442 ****
-  	for (;;)
-  	{
-  	    mb_ptr_back(line, p);
-! 	    if (p == line || spell_iswordp_nmw(p))
-  		break;
-  	    if (vim_regexec(&regmatch, p, 0)
-  					 && regmatch.endp[0] == line + endcol)
---- 10451,10457 ----
-  	for (;;)
-  	{
-  	    mb_ptr_back(line, p);
-! 	    if (p == line || spell_iswordp_nmw(p, curwin))
-  		break;
-  	    if (vim_regexec(&regmatch, p, 0)
-  					 && regmatch.endp[0] == line + endcol)
-***************
-*** 11645,11651 ****
-  
-  		/* When appending a compound word after a word character don't
-  		 * use Onecap. */
-! 		if (p != NULL && spell_iswordp_nmw(p))
-  		    c &= ~WF_ONECAP;
-  		make_case_word(tword + sp->ts_splitoff,
-  					      preword + sp->ts_prewordlen, c);
---- 11660,11666 ----
-  
-  		/* When appending a compound word after a word character don't
-  		 * use Onecap. */
-! 		if (p != NULL && spell_iswordp_nmw(p, curwin))
-  		    c &= ~WF_ONECAP;
-  		make_case_word(tword + sp->ts_splitoff,
-  					      preword + sp->ts_prewordlen, c);
-***************
-*** 11895,11901 ****
-  			 * character when the word ends.  But only when the
-  			 * good word can end. */
-  			if (((!try_compound && !spell_iswordp_nmw(fword
-! 							       + sp->ts_fidx))
-  				    || fword_ends)
-  				&& fword[sp->ts_fidx] != NUL
-  				&& goodword_ends)
---- 11910,11917 ----
-  			 * character when the word ends.  But only when the
-  			 * good word can end. */
-  			if (((!try_compound && !spell_iswordp_nmw(fword
-! 							       + sp->ts_fidx,
-! 							       curwin))
-  				    || fword_ends)
-  				&& fword[sp->ts_fidx] != NUL
-  				&& goodword_ends)
-***************
-*** 14226,14232 ****
-  	    }
-  	    else
-  	    {
-! 		if (spell_iswordp_nmw(s))
-  		    *t++ = *s;
-  		++s;
-  	    }
---- 14242,14248 ----
-  	    }
-  	    else
-  	    {
-! 		if (spell_iswordp_nmw(s, curwin))
-  		    *t++ = *s;
-  		++s;
-  	    }
-***************
-*** 14521,14527 ****
-  	    else
-  	    {
-  		did_white = FALSE;
-! 		if (!spell_iswordp_nmw(t))
-  		    continue;
-  	    }
-  	}
---- 14537,14543 ----
-  	    else
-  	    {
-  		did_white = FALSE;
-! 		if (!spell_iswordp_nmw(t, curwin))
-  		    continue;
-  	    }
-  	}
-***************
-*** 16045,16051 ****
-      for (p = line + startcol; p > line; )
-      {
-  	mb_ptr_back(line, p);
-! 	if (spell_iswordp_nmw(p))
-  	    break;
-      }
-  
---- 16061,16067 ----
-      for (p = line + startcol; p > line; )
-      {
-  	mb_ptr_back(line, p);
-! 	if (spell_iswordp_nmw(p, curwin))
-  	    break;
-      }
-  
-*** ../vim-7.4.087/src/structs.h	2013-11-09 05:30:18.000000000 +0100
---- src/structs.h	2013-11-12 03:55:50.000000000 +0100
-***************
-*** 1310,1315 ****
---- 1310,1318 ----
-      regprog_T	*b_cap_prog;	/* program for 'spellcapcheck' */
-      char_u	*b_p_spf;	/* 'spellfile' */
-      char_u	*b_p_spl;	/* 'spelllang' */
-+ # ifdef FEAT_MBYTE
-+     int		b_cjk;		/* all CJK letters as OK */
-+ # endif
-  #endif
-  #if !defined(FEAT_SYN_HL) && !defined(FEAT_SPELL)
-      int		dummy;
-*** ../vim-7.4.087/src/version.c	2013-11-11 23:17:31.000000000 +0100
---- src/version.c	2013-11-12 03:59:03.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     88,
-  /**/
-
--- 
-THEOREM: VI is perfect.
-PROOF: VI in roman numerals is 6.  The natural numbers < 6 which divide 6 are
-1, 2, and 3. 1+2+3 = 6.  So 6 is a perfect number.  Therefore, VI is perfect.
-QED
-						    -- Arthur Tateishi
-
- /// 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    ///
diff --git a/7.4.089 b/7.4.089
deleted file mode 100644
index 80697ce..0000000
--- a/7.4.089
+++ /dev/null
@@ -1,47 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.089
-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.089
-Problem:    When editing a file in a directory mounted through sshfs Vim
-            doesn't set the security context on a renamed file.
-Solution:   Add mch_copy_sec() to vim_rename(). (Peter Backes)
-Files:      src/fileio.c
-
-
-*** ../vim-7.4.088/src/fileio.c	2013-08-30 17:06:56.000000000 +0200
---- src/fileio.c	2013-11-12 05:07:22.000000000 +0100
-***************
-*** 6707,6712 ****
---- 6707,6715 ----
-      mch_set_acl(to, acl);
-      mch_free_acl(acl);
-  #endif
-+ #ifdef HAVE_SELINUX
-+     mch_copy_sec(from, to)
-+ #endif
-      if (errmsg != NULL)
-      {
-  	EMSG2(errmsg, to);
-*** ../vim-7.4.088/src/version.c	2013-11-12 04:43:57.000000000 +0100
---- src/version.c	2013-11-12 05:11:02.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     89,
-  /**/
-
--- 
-Kiss me twice.  I'm schizophrenic.
-
- /// 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    ///
diff --git a/7.4.090 b/7.4.090
deleted file mode 100644
index a7ee927..0000000
--- a/7.4.090
+++ /dev/null
@@ -1,223 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.090
-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.090
-Problem:    Win32: When a directory name contains an exclamation mark,
-            completion doesn't complete the contents of the directory.
-Solution:   Escape the exclamation mark. (Jan Stocker)
-Files:      src/ex_getln.c, src/testdir/test102.in, src/testdir/test102.ok
-            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
-
-
-*** ../vim-7.4.089/src/ex_getln.c	2013-11-09 05:30:18.000000000 +0100
---- src/ex_getln.c	2013-11-12 05:23:15.000000000 +0100
-***************
-*** 3852,3860 ****
-      char_u	buf[20];
-      int		j = 0;
-  
-!     /* Don't escape '[' and '{' if they are in 'isfname'. */
-      for (p = PATH_ESC_CHARS; *p != NUL; ++p)
-! 	if ((*p != '[' && *p != '{') || !vim_isfilec(*p))
-  	    buf[j++] = *p;
-      buf[j] = NUL;
-      p = vim_strsave_escaped(fname, buf);
---- 3852,3860 ----
-      char_u	buf[20];
-      int		j = 0;
-  
-!     /* Don't escape '[', '{' and '!' if they are in 'isfname'. */
-      for (p = PATH_ESC_CHARS; *p != NUL; ++p)
-! 	if ((*p != '[' && *p != '{' && *p != '!') || !vim_isfilec(*p))
-  	    buf[j++] = *p;
-      buf[j] = NUL;
-      p = vim_strsave_escaped(fname, buf);
-*** ../vim-7.4.089/src/testdir/test102.in	2013-11-12 05:27:48.000000000 +0100
---- src/testdir/test102.in	2013-11-12 05:21:26.000000000 +0100
-***************
-*** 0 ****
---- 1,12 ----
-+ Test if fnameescape is correct for special chars like !
-+ 
-+ STARTTEST
-+ :%d
-+ :let fname = 'Xspa ce'
-+ :try | exe "w! " . fnameescape(fname) | put='Space' | endtry 
-+ :let fname = 'Xemark!'
-+ :try | exe "w! " . fnameescape(fname) | put='ExclamationMark' | endtry
-+ :w! test.out
-+ :qa!
-+ ENDTEST
-+ 
-*** ../vim-7.4.089/src/testdir/test102.ok	2013-11-12 05:27:48.000000000 +0100
---- src/testdir/test102.ok	2013-11-12 05:21:19.000000000 +0100
-***************
-*** 0 ****
---- 1,3 ----
-+ 
-+ Space
-+ ExclamationMark
-*** ../vim-7.4.089/src/testdir/Make_amiga.mak	2013-11-08 04:30:06.000000000 +0100
---- src/testdir/Make_amiga.mak	2013-11-12 05:20:03.000000000 +0100
-***************
-*** 34,40 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
---- 34,40 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 152,154 ****
---- 152,155 ----
-  test99.out: test99.in
-  test100.out: test100.in
-  test101.out: test101.in
-+ test102.out: test102.in
-*** ../vim-7.4.089/src/testdir/Make_dos.mak	2013-11-08 04:30:06.000000000 +0100
---- src/testdir/Make_dos.mak	2013-11-12 05:20:10.000000000 +0100
-***************
-*** 33,39 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out test101.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 33,39 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.089/src/testdir/Make_ming.mak	2013-11-08 04:30:06.000000000 +0100
---- src/testdir/Make_ming.mak	2013-11-12 05:20:14.000000000 +0100
-***************
-*** 53,59 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out test101.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 53,59 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out test101.out test102.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.089/src/testdir/Make_os2.mak	2013-11-08 04:30:06.000000000 +0100
---- src/testdir/Make_os2.mak	2013-11-12 05:20:18.000000000 +0100
-***************
-*** 35,41 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100.out test101.out
-  
-  .SUFFIXES: .in .out
-  
---- 35,41 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.089/src/testdir/Make_vms.mms	2013-11-08 04:30:06.000000000 +0100
---- src/testdir/Make_vms.mms	2013-11-12 05:20:21.000000000 +0100
-***************
-*** 4,10 ****
-  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
-  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
-  #
-! # Last change:  2013 Nov 08
-  #
-  # 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:  2013 Nov 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.
-***************
-*** 79,85 ****
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
---- 79,85 ----
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.4.089/src/testdir/Makefile	2013-11-08 04:30:06.000000000 +0100
---- src/testdir/Makefile	2013-11-12 05:20:32.000000000 +0100
-***************
-*** 30,36 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
---- 30,36 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.089/src/version.c	2013-11-12 05:11:58.000000000 +0100
---- src/version.c	2013-11-12 05:24:24.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     90,
-  /**/
-
--- 
-If you don't get everything you want, think of
-everything you didn't get and don't want.
-
- /// 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    ///
diff --git a/7.4.091 b/7.4.091
deleted file mode 100644
index 230601d..0000000
--- a/7.4.091
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.091
-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.091 (after 7.4.089)
-Problem:    Missing semicolon.
-Solution:   Add the semicolon.
-Files:      src/fileio.c
-    
-
-*** ../vim-7.4.090/src/fileio.c	2013-11-12 05:11:58.000000000 +0100
---- src/fileio.c	2013-11-12 18:07:47.000000000 +0100
-***************
-*** 6708,6714 ****
-      mch_free_acl(acl);
-  #endif
-  #ifdef HAVE_SELINUX
-!     mch_copy_sec(from, to)
-  #endif
-      if (errmsg != NULL)
-      {
---- 6708,6714 ----
-      mch_free_acl(acl);
-  #endif
-  #ifdef HAVE_SELINUX
-!     mch_copy_sec(from, to);
-  #endif
-      if (errmsg != NULL)
-      {
-*** ../vim-7.4.090/src/version.c	2013-11-12 05:28:08.000000000 +0100
---- src/version.c	2013-11-12 18:08:33.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     91,
-  /**/
-
--- 
-CART DRIVER: Bring out your dead!
-   We follow the cart through a wretched, impoverished plague-ridden village.
-   A few starved mongrels run about in the mud scavenging.  In the open
-   doorway of one house perhaps we jug glimpse a pair of legs dangling from
-   the ceiling.  In another doorway an OLD WOMAN is beating a cat against a
-   wall rather like one does with a mat.  The cart passes round a dead donkey
-   or cow in the mud.  And a MAN tied to a cart is being hammered to death by
-   four NUNS with huge mallets.
-                 "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    ///
diff --git a/7.4.092 b/7.4.092
deleted file mode 100644
index e74888e..0000000
--- a/7.4.092
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.092
-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.092 (after 7.4.088)
-Problem:    Can't build small version.
-Solution:   Add #ifdef where the b_cjk flag is used. (Ken Takata)
-Files:      src/spell.c
-
-
-*** ../vim-7.4.091/src/spell.c	2013-11-12 04:43:57.000000000 +0100
---- src/spell.c	2013-11-14 03:51:24.000000000 +0100
-***************
-*** 4234,4240 ****
---- 4234,4242 ----
-      if (spl_copy == NULL)
-  	goto theend;
-  
-+ #ifdef FEAT_MBYTE
-      wp->w_s->b_cjk = 0;
-+ #endif
-  
-      /* Loop over comma separated language names. */
-      for (splp = spl_copy; *splp != NUL; )
-***************
-*** 4246,4252 ****
---- 4248,4256 ----
-  
-  	if (STRCMP(lang, "cjk") == 0)
-  	{
-+ #ifdef FEAT_MBYTE
-  	    wp->w_s->b_cjk = 1;
-+ #endif
-  	    continue;
-  	}
-  
-*** ../vim-7.4.091/src/version.c	2013-11-12 18:09:20.000000000 +0100
---- src/version.c	2013-11-14 03:52:18.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     92,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.093 b/7.4.093
deleted file mode 100644
index 24da0a8..0000000
--- a/7.4.093
+++ /dev/null
@@ -1,72 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.093
-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.093
-Problem:    Configure can't use LuaJIT on ubuntu 12.04.
-Solution:   Adjust the configure regexp that locates the version number.
-	    (Charles Strahan)
-Files:	    src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.092/src/configure.in	2013-11-04 04:57:46.000000000 +0100
---- src/configure.in	2013-11-17 20:12:04.000000000 +0100
-***************
-*** 496,502 ****
-        if test "X$vi_cv_path_luajit" != "X"; then
-  	dnl -- find LuaJIT version
-  	AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
-! 	[ vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]] .*/\1/'` ])
-  	AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
-  	[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
-  	vi_cv_path_lua="$vi_cv_path_luajit"
---- 496,502 ----
-        if test "X$vi_cv_path_luajit" != "X"; then
-  	dnl -- find LuaJIT version
-  	AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
-! 	[ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ])
-  	AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
-  	[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
-  	vi_cv_path_lua="$vi_cv_path_luajit"
-*** ../vim-7.4.092/src/auto/configure	2013-11-04 04:57:46.000000000 +0100
---- src/auto/configure	2013-11-17 20:13:30.000000000 +0100
-***************
-*** 4743,4749 ****
-  if test "${vi_cv_version_luajit+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-!    vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([0-9.]*\)\.[0-9] .*/\1/'`
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
-  $as_echo "$vi_cv_version_luajit" >&6; }
---- 4743,4749 ----
-  if test "${vi_cv_version_luajit+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-!    vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'`
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
-  $as_echo "$vi_cv_version_luajit" >&6; }
-*** ../vim-7.4.092/src/version.c	2013-11-14 03:54:02.000000000 +0100
---- src/version.c	2013-11-17 20:13:43.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     93,
-  /**/
-
--- 
-"Beware of bugs in the above code; I have only proved
-it correct, not tried it." -- Donald Knuth
-
- /// 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    ///
diff --git a/7.4.094 b/7.4.094
deleted file mode 100644
index 96ebc4d..0000000
--- a/7.4.094
+++ /dev/null
@@ -1,139 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.094
-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.094
-Problem:    Configure may not find that -lint is needed for gettext().
-Solution:   Check for gettext() with empty $LIBS.  (Thomas De Schampheleire)
-Files:	    src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.093/src/configure.in	2013-11-17 20:17:05.000000000 +0100
---- src/configure.in	2013-11-17 20:23:49.000000000 +0100
-***************
-*** 3725,3730 ****
---- 3725,3733 ----
-  fi
-  
-  dnl Check if gettext() is working and if it needs -lintl
-+ dnl We take care to base this on an empty LIBS: on some systems libelf would be
-+ dnl in LIBS and implicitly take along libintl. The final LIBS would then not
-+ dnl contain libintl, and the link step would fail due to -Wl,--as-needed.
-  AC_MSG_CHECKING(--disable-nls argument)
-  AC_ARG_ENABLE(nls,
-  	[  --disable-nls           Don't support NLS (gettext()).], ,
-***************
-*** 3743,3758 ****
-    if test -f po/Makefile; then
-      have_gettext="no"
-      if test -n "$MSGFMT"; then
-        AC_TRY_LINK(
-  	[#include <libintl.h>],
-  	[gettext("Test");],
-! 	AC_MSG_RESULT([gettext() works]); have_gettext="yes",
-! 	  olibs=$LIBS
-! 	  LIBS="$LIBS -lintl"
-  	  AC_TRY_LINK(
-  	      [#include <libintl.h>],
-  	      [gettext("Test");],
-! 	      AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
-  	      AC_MSG_RESULT([gettext() doesn't work]);
-  	      LIBS=$olibs))
-      else
---- 3746,3763 ----
-    if test -f po/Makefile; then
-      have_gettext="no"
-      if test -n "$MSGFMT"; then
-+       olibs=$LIBS
-+       LIBS=""
-        AC_TRY_LINK(
-  	[#include <libintl.h>],
-  	[gettext("Test");],
-! 	AC_MSG_RESULT([gettext() works]); have_gettext="yes"; LIBS=$olibs,
-! 	  LIBS="-lintl"
-  	  AC_TRY_LINK(
-  	      [#include <libintl.h>],
-  	      [gettext("Test");],
-! 	      AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes";
-! 	      LIBS="$olibs -lintl",
-  	      AC_MSG_RESULT([gettext() doesn't work]);
-  	      LIBS=$olibs))
-      else
-*** ../vim-7.4.093/src/auto/configure	2013-11-17 20:17:05.000000000 +0100
---- src/auto/configure	2013-11-17 20:25:13.000000000 +0100
-***************
-*** 12690,12695 ****
---- 12690,12697 ----
-    if test -f po/Makefile; then
-      have_gettext="no"
-      if test -n "$MSGFMT"; then
-+       olibs=$LIBS
-+       LIBS=""
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
-  #include <libintl.h>
-***************
-*** 12703,12712 ****
-  _ACEOF
-  if ac_fn_c_try_link "$LINENO"; then :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5
-! $as_echo "gettext() works" >&6; }; have_gettext="yes"
-  else
-!   olibs=$LIBS
-! 	  LIBS="$LIBS -lintl"
-  	  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
-  #include <libintl.h>
---- 12705,12713 ----
-  _ACEOF
-  if ac_fn_c_try_link "$LINENO"; then :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5
-! $as_echo "gettext() works" >&6; }; have_gettext="yes"; LIBS=$olibs
-  else
-!   LIBS="-lintl"
-  	  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
-  #include <libintl.h>
-***************
-*** 12720,12726 ****
-  _ACEOF
-  if ac_fn_c_try_link "$LINENO"; then :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5
-! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
-  $as_echo "gettext() doesn't work" >&6; };
---- 12721,12728 ----
-  _ACEOF
-  if ac_fn_c_try_link "$LINENO"; then :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5
-! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes";
-! 	      LIBS="$olibs -lintl"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
-  $as_echo "gettext() doesn't work" >&6; };
-*** ../vim-7.4.093/src/version.c	2013-11-17 20:17:05.000000000 +0100
---- src/version.c	2013-11-17 20:27:43.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     94,
-  /**/
-
--- 
-BLACK KNIGHT: The Black Knight always triumphs. Have at you!
-   ARTHUR takes his last leg off.  The BLACK KNIGHT's body lands upright.
-BLACK KNIGHT: All right, we'll call it a draw.
-                 "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    ///
diff --git a/7.4.095 b/7.4.095
deleted file mode 100644
index f7abfca..0000000
--- a/7.4.095
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.095
-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.095 (after 7.4.093)
-Problem:    Regexp for LuaJIT version doesn't work on BSD.
-Solution:   Use "*" instead of "\+" and "\?". (Ozaki)
-Files:	    src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.094/src/configure.in	2013-11-17 20:32:49.000000000 +0100
---- src/configure.in	2013-11-21 12:04:46.000000000 +0100
-***************
-*** 496,502 ****
-        if test "X$vi_cv_path_luajit" != "X"; then
-  	dnl -- find LuaJIT version
-  	AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
-! 	[ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ])
-  	AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
-  	[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
-  	vi_cv_path_lua="$vi_cv_path_luajit"
---- 496,502 ----
-        if test "X$vi_cv_path_luajit" != "X"; then
-  	dnl -- find LuaJIT version
-  	AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
-! 	[ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]*\)* .*/\1/'` ])
-  	AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
-  	[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
-  	vi_cv_path_lua="$vi_cv_path_luajit"
-*** ../vim-7.4.094/src/auto/configure	2013-11-17 20:32:49.000000000 +0100
---- src/auto/configure	2013-11-21 12:07:39.000000000 +0100
-***************
-*** 4743,4749 ****
-  if test "${vi_cv_version_luajit+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-!    vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'`
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
-  $as_echo "$vi_cv_version_luajit" >&6; }
---- 4743,4749 ----
-  if test "${vi_cv_version_luajit+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-!    vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
-  $as_echo "$vi_cv_version_luajit" >&6; }
-*** ../vim-7.4.094/src/version.c	2013-11-17 20:32:49.000000000 +0100
---- src/version.c	2013-11-21 12:06:26.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     95,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.096 b/7.4.096
deleted file mode 100644
index be20959..0000000
--- a/7.4.096
+++ /dev/null
@@ -1,96 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.096
-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.096
-Problem:    Can't change directory to an UNC path.
-Solution:   Use win32_getattrs() in mch_getperm(). (Christian Brabandt)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.095/src/os_win32.c	2013-09-25 19:13:32.000000000 +0200
---- src/os_win32.c	2013-11-21 12:31:52.000000000 +0100
-***************
-*** 2841,2858 ****
-  }
-  
-  /*
-!  * get file permissions for `name'
-!  * -1 : error
-!  * else mode_t
-   */
-      long
-  mch_getperm(char_u *name)
-  {
-      struct stat st;
-!     int n;
-  
-      n = mch_stat(name, &st);
-!     return n == 0 ? (int)st.st_mode : -1;
-  }
-  
-  
---- 2841,2860 ----
-  }
-  
-  /*
-!  * Get file permissions for "name".
-!  * Return mode_t or -1 for error.
-   */
-      long
-  mch_getperm(char_u *name)
-  {
-      struct stat st;
-!     int		n;
-  
-+     if (name[0] == '\\' && name[1] == '\\')
-+ 	/* UNC path */
-+ 	return (long)win32_getattrs(name);
-      n = mch_stat(name, &st);
-!     return n == 0 ? (long)st.st_mode : -1L;
-  }
-  
-  
-***************
-*** 3094,3101 ****
-   * -1 : error
-   * else FILE_ATTRIBUTE_* defined in winnt.h
-   */
-!     static
-!     int
-  win32_getattrs(char_u *name)
-  {
-      int		attr;
---- 3096,3102 ----
-   * -1 : error
-   * else FILE_ATTRIBUTE_* defined in winnt.h
-   */
-!     static int
-  win32_getattrs(char_u *name)
-  {
-      int		attr;
-*** ../vim-7.4.095/src/version.c	2013-11-21 12:17:46.000000000 +0100
---- src/version.c	2013-11-21 12:32:46.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     96,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.097 b/7.4.097
deleted file mode 100644
index cfb6183..0000000
--- a/7.4.097
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.097
-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.097 (after 7.4.034)
-Problem:    Unexpected behavior change related to 'virtualedit'. (Ingo Karkat)
-Solution:   Update the valid cursor position. (Christian Brabandt)
-Files:	    src/ops.c
-
-
-*** ../vim-7.4.096/src/ops.c	2013-11-11 23:17:31.000000000 +0100
---- src/ops.c	2013-11-21 13:21:24.000000000 +0100
-***************
-*** 3844,3850 ****
---- 3844,3854 ----
-  		    ml_replace(lnum, newp, FALSE);
-  		    /* Place cursor on last putted char. */
-  		    if (lnum == curwin->w_cursor.lnum)
-+ 		    {
-+ 			/* make sure curwin->w_virtcol is updated */
-+ 			changed_cline_bef_curs();
-  			curwin->w_cursor.col += (colnr_T)(totlen - 1);
-+ 		    }
-  		}
-  #ifdef FEAT_VISUAL
-  		if (VIsual_active)
-*** ../vim-7.4.096/src/version.c	2013-11-21 12:34:07.000000000 +0100
---- src/version.c	2013-11-21 13:08:27.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     97,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.098 b/7.4.098
deleted file mode 100644
index 78af90e..0000000
--- a/7.4.098
+++ /dev/null
@@ -1,243 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.098
-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.098
-Problem:    When using ":'<,'>del" errors may be given for the visual line
-            numbers being out of range.
-Solution:   Reset Visual mode in ":del". (Lech Lorens)
-Files:      src/ex_docmd.c, src/testdir/test103.in, src/testdir/test103.ok,
-            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
-
-
-*** ../vim-7.4.097/src/ex_docmd.c	2013-11-09 05:30:18.000000000 +0100
---- src/ex_docmd.c	2013-11-21 14:04:55.000000000 +0100
-***************
-*** 8570,8575 ****
---- 8570,8580 ----
-  	beginline(BL_SOL | BL_FIX);
-      }
-  
-+ #if defined(FEAT_VISUAL)
-+     if (VIsual_active)
-+ 	end_visual_mode();
-+ #endif
-+ 
-      switch (eap->cmdidx)
-      {
-  	case CMD_delete:
-*** ../vim-7.4.097/src/testdir/test103.in	2013-11-21 14:21:12.000000000 +0100
---- src/testdir/test103.in	2013-11-21 14:02:09.000000000 +0100
-***************
-*** 0 ****
---- 1,37 ----
-+ Test for visual mode not being reset causing E315 error.
-+ STARTTEST
-+ :so small.vim
-+ :enew
-+ :let g:msg="Everything's fine."
-+ :function! TriggerTheProblem()
-+ :	" At this point there is no visual selection because :call reset it.
-+ :	" Let's restore the selection:
-+ :	normal gv
-+ :	'<,'>del _
-+ :	try
-+ :		exe "normal \<Esc>"
-+ :	catch /^Vim\%((\a\+)\)\=:E315/
-+ :		echom 'Snap! E315 error!'
-+ :		let g:msg='Snap! E315 error!'
-+ :	endtry
-+ :endfunction
-+ :enew
-+ :setl buftype=nofile
-+ :call append(line('$'), 'Delete this line.')
-+ :"
-+ :"
-+ :" NOTE: this has to be done by a call to a function because executing :del the
-+ :"       ex-way will require the colon operator which resets the visual mode thus
-+ :"       preventing the problem:
-+ :"
-+ GV:call TriggerTheProblem()
-+ :%del _
-+ :call append(line('$'), g:msg)
-+ :w! test.out
-+ :brewind
-+ ENDTEST
-+ 
-+ STARTTEST
-+ :qa!
-+ ENDTEST
-+ 
-*** ../vim-7.4.097/src/testdir/test103.ok	2013-11-21 14:21:12.000000000 +0100
---- src/testdir/test103.ok	2013-11-21 14:02:28.000000000 +0100
-***************
-*** 0 ****
---- 1,2 ----
-+ 
-+ Everything's fine.
-*** ../vim-7.4.097/src/testdir/Make_amiga.mak	2013-11-12 05:28:08.000000000 +0100
---- src/testdir/Make_amiga.mak	2013-11-21 14:02:51.000000000 +0100
-***************
-*** 34,40 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
---- 34,40 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 153,155 ****
---- 153,156 ----
-  test100.out: test100.in
-  test101.out: test101.in
-  test102.out: test102.in
-+ test103.out: test103.in
-*** ../vim-7.4.097/src/testdir/Make_dos.mak	2013-11-12 05:28:08.000000000 +0100
---- src/testdir/Make_dos.mak	2013-11-21 14:02:58.000000000 +0100
-***************
-*** 33,39 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 33,39 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.097/src/testdir/Make_ming.mak	2013-11-12 05:28:08.000000000 +0100
---- src/testdir/Make_ming.mak	2013-11-21 14:03:01.000000000 +0100
-***************
-*** 53,59 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out test101.out test102.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 53,59 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out test101.out test102.out test103.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.097/src/testdir/Make_os2.mak	2013-11-12 05:28:08.000000000 +0100
---- src/testdir/Make_os2.mak	2013-11-21 14:03:03.000000000 +0100
-***************
-*** 35,41 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
---- 35,41 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.097/src/testdir/Make_vms.mms	2013-11-12 05:28:08.000000000 +0100
---- src/testdir/Make_vms.mms	2013-11-21 14:03:13.000000000 +0100
-***************
-*** 4,10 ****
-  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
-  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
-  #
-! # Last change:  2013 Nov 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:  2013 Nov 21
-  #
-  # 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.
-***************
-*** 79,85 ****
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
---- 79,85 ----
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.4.097/src/testdir/Makefile	2013-11-12 05:28:08.000000000 +0100
---- src/testdir/Makefile	2013-11-21 14:03:23.000000000 +0100
-***************
-*** 30,36 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
---- 30,36 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.097/src/version.c	2013-11-21 13:24:36.000000000 +0100
---- src/version.c	2013-11-21 14:20:34.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     98,
-  /**/
-
--- 
-I recommend ordering large cargo containers of paper towels to make up
-whatever budget underruns you have.  Paper products are always useful and they
-have the advantage of being completely flushable if you need to make room in
-the storage area later.
-				(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    ///
diff --git a/7.4.099 b/7.4.099
deleted file mode 100644
index a9cf636..0000000
--- a/7.4.099
+++ /dev/null
@@ -1,113 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.099
-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.099
-Problem:    Append in blockwise Visual mode with "$" is wrong.
-Solution:   After "$" don't use the code that checks if the cursor was moved.
-	    (Hirohito Higashi, Ken Takata)
-Files:	    src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
-
-
-*** ../vim-7.4.098/src/ops.c	2013-11-21 13:24:36.000000000 +0100
---- src/ops.c	2013-11-21 14:33:57.000000000 +0100
-***************
-*** 2643,2649 ****
-  
-  	/* The user may have moved the cursor before inserting something, try
-  	 * to adjust the block for that. */
-! 	if (oap->start.lnum == curbuf->b_op_start.lnum)
-  	{
-  	    if (oap->op_type == OP_INSERT
-  		    && oap->start.col != curbuf->b_op_start.col)
---- 2643,2649 ----
-  
-  	/* The user may have moved the cursor before inserting something, try
-  	 * to adjust the block for that. */
-! 	if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX)
-  	{
-  	    if (oap->op_type == OP_INSERT
-  		    && oap->start.col != curbuf->b_op_start.col)
-*** ../vim-7.4.098/src/testdir/test39.in	2013-11-11 01:29:16.000000000 +0100
---- src/testdir/test39.in	2013-11-21 14:25:55.000000000 +0100
-***************
-*** 23,28 ****
---- 23,40 ----
-  /^aaaa/
-  :exe ":norm! l\<C-V>jjjlllI\<Right>\<Right>  \<Esc>"
-  :/^aa/,/^$/w >> test.out
-+ :" Test for Visual block was created with the last <C-v>$
-+ /^A23$/
-+ :exe ":norm! l\<C-V>j$Aab\<Esc>"
-+ :.,/^$/w >> test.out
-+ :" Test for Visual block was created with the middle <C-v>$ (1)
-+ /^B23$/
-+ :exe ":norm! l\<C-V>j$hAab\<Esc>"
-+ :.,/^$/w >> test.out
-+ :" Test for Visual block was created with the middle <C-v>$ (2)
-+ /^C23$/
-+ :exe ":norm! l\<C-V>j$hhAab\<Esc>"
-+ :.,/^$/w >> test.out
-  :" gUe must uppercase a whole word, also when � changes to SS
-  Gothe youtu�euu endYpk0wgUe
-  :" gUfx must uppercase until x, inclusive.
-***************
-*** 49,54 ****
---- 61,75 ----
-  cccccc
-  dddddd
-  
-+ A23
-+ 4567
-+ 
-+ B23
-+ 4567
-+ 
-+ C23
-+ 4567
-+ 
-  abcdefghijklm
-  abcdefghijklm
-  abcdefghijklm
-*** ../vim-7.4.098/src/testdir/test39.ok	2013-11-11 01:29:16.000000000 +0100
---- src/testdir/test39.ok	2013-11-21 14:25:10.000000000 +0100
-***************
-*** 8,13 ****
---- 8,22 ----
-  ccc  ccc
-  ddd  ddd
-  
-+ A23ab
-+ 4567ab
-+ 
-+ B23 ab
-+ 4567ab
-+ 
-+ C23ab
-+ 456ab7
-+ 
-  the YOUTUSSEUU end
-  - yOUSSTUSSEXu -
-  THE YOUTUSSEUU END
-*** ../vim-7.4.098/src/version.c	2013-11-21 14:21:25.000000000 +0100
---- src/version.c	2013-11-21 14:34:28.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     99,
-  /**/
-
--- 
-If the Universe is constantly expanding, why can't I ever find a parking space?
-
- /// 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    ///
diff --git a/7.4.100 b/7.4.100
deleted file mode 100644
index c3c0cb6..0000000
--- a/7.4.100
+++ /dev/null
@@ -1,82 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.100
-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.100
-Problem:    NFA regexp doesn't handle backreference correctly. (Ryuichi
-	    Hayashida, Urtica Dioica)
-Solution:   Always add NFA_SKIP, also when it already exists at the start
-	    position.
-Files:      src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.099/src/regexp_nfa.c	2013-10-06 15:46:06.000000000 +0200
---- src/regexp_nfa.c	2013-11-21 15:58:58.000000000 +0100
-***************
-*** 4278,4284 ****
-  	     * endless loop for "\(\)*" */
-  
-  	default:
-! 	    if (state->lastlist[nfa_ll_index] == l->id)
-  	    {
-  		/* This state is already in the list, don't add it again,
-  		 * unless it is an MOPEN that is used for a backreference or
---- 4278,4284 ----
-  	     * endless loop for "\(\)*" */
-  
-  	default:
-! 	    if (state->lastlist[nfa_ll_index] == l->id && state->c != NFA_SKIP)
-  	    {
-  		/* This state is already in the list, don't add it again,
-  		 * unless it is an MOPEN that is used for a backreference or
-*** ../vim-7.4.099/src/testdir/test64.in	2013-09-25 18:16:34.000000000 +0200
---- src/testdir/test64.in	2013-11-21 15:58:19.000000000 +0100
-***************
-*** 406,411 ****
---- 406,412 ----
-  :call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
-  :call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo.bat', 'bat', 'bat'])
-  :call add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '${0}', '0'])
-+ :call add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
-  :"
-  :"""" Look-behind with limit
-  :call add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
-*** ../vim-7.4.099/src/testdir/test64.ok	2013-09-25 18:16:34.000000000 +0200
---- src/testdir/test64.ok	2013-11-21 15:59:04.000000000 +0100
-***************
-*** 944,949 ****
---- 944,952 ----
-  OK 0 - \\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}
-  OK 1 - \\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}
-  OK 2 - \\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}
-+ OK 0 - ^\(a*\)\1$
-+ OK 1 - ^\(a*\)\1$
-+ OK 2 - ^\(a*\)\1$
-  OK 0 - <\@<=span.
-  OK 1 - <\@<=span.
-  OK 2 - <\@<=span.
-*** ../vim-7.4.099/src/version.c	2013-11-21 14:39:58.000000000 +0100
---- src/version.c	2013-11-21 16:02:27.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     100,
-  /**/
-
--- 
-Sometimes you can protect millions of dollars in your budget simply by buying
-a bag of cookies, dropping it on the budget anylyst's desk, and saying
-something deeply personal such as "How was your weekend, big guy?"
-				(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    ///
diff --git a/7.4.101 b/7.4.101
deleted file mode 100644
index 99150ef..0000000
--- a/7.4.101
+++ /dev/null
@@ -1,93 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.101
-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.101
-Problem:    Using \1 in pattern goes one line too far. (Bohr Shaw, John Little)
-Solution:   Only advance the match end for the matched characters in the last
-	    line.
-Files:	    src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
-
-
-*** ../vim-7.4.100/src/regexp.c	2013-09-19 17:03:57.000000000 +0200
---- src/regexp.c	2013-11-21 16:58:38.000000000 +0100
-***************
-*** 6455,6461 ****
-  /*
-   * Check whether a backreference matches.
-   * Returns RA_FAIL, RA_NOMATCH or RA_MATCH.
-!  * If "bytelen" is not NULL, it is set to the bytelength of the whole match.
-   */
-      static int
-  match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
---- 6455,6462 ----
-  /*
-   * Check whether a backreference matches.
-   * Returns RA_FAIL, RA_NOMATCH or RA_MATCH.
-!  * If "bytelen" is not NULL, it is set to the byte length of the match in the
-!  * last line.
-   */
-      static int
-  match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
-***************
-*** 6511,6516 ****
---- 6512,6519 ----
-  
-  	/* Advance to next line. */
-  	reg_nextline();
-+ 	if (bytelen != NULL)
-+ 	    *bytelen = 0;
-  	++clnum;
-  	ccol = 0;
-  	if (got_int)
-*** ../vim-7.4.100/src/testdir/test64.in	2013-11-21 16:03:35.000000000 +0100
---- src/testdir/test64.in	2013-11-21 16:56:20.000000000 +0100
-***************
-*** 507,512 ****
---- 507,514 ----
-  :" Check a pattern with a line break and ^ and $
-  :call add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
-  :"
-+ :call add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
-+ :"
-  :"""" Run the multi-line tests
-  :"
-  :$put ='multi-line tests'
-*** ../vim-7.4.100/src/testdir/test64.ok	2013-11-21 16:03:35.000000000 +0100
---- src/testdir/test64.ok	2013-11-21 16:57:41.000000000 +0100
-***************
-*** 1031,1036 ****
---- 1031,1039 ----
-  OK 0 - a\n^b$\n^c
-  OK 1 - a\n^b$\n^c
-  OK 2 - a\n^b$\n^c
-+ OK 0 - \(^.\+\n\)\1
-+ OK 1 - \(^.\+\n\)\1
-+ OK 2 - \(^.\+\n\)\1
-  
-  <T="5">Ta 5</Title>
-  <T="7">Ac 7</Title>
-*** ../vim-7.4.100/src/version.c	2013-11-21 16:03:35.000000000 +0100
---- src/version.c	2013-11-21 16:44:00.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     101,
-  /**/
-
--- 
-The budget process was invented by an alien race of sadistic beings who
-resemble large cats.
-				(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    ///
diff --git a/7.4.102 b/7.4.102
deleted file mode 100644
index b413413..0000000
--- a/7.4.102
+++ /dev/null
@@ -1,84 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.102
-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.102
-Problem:    Crash when interrupting "z=".
-Solution:   Add safety check for word length. (Christian Brabandt, Dominique
-	    Pelle)
-Files:	    src/spell.c
-
-
-*** ../vim-7.4.101/src/spell.c	2013-11-14 03:54:02.000000000 +0100
---- src/spell.c	2013-11-21 17:37:04.000000000 +0100
-***************
-*** 13398,13406 ****
-  
-  	/* Lookup the word "orgnr" one of the two tries. */
-  	n = 0;
-- 	wlen = 0;
-  	wordcount = 0;
-! 	for (;;)
-  	{
-  	    i = 1;
-  	    if (wordcount == orgnr && byts[n + 1] == NUL)
---- 13398,13405 ----
-  
-  	/* Lookup the word "orgnr" one of the two tries. */
-  	n = 0;
-  	wordcount = 0;
-! 	for (wlen = 0; wlen < MAXWLEN - 3; ++wlen)
-  	{
-  	    i = 1;
-  	    if (wordcount == orgnr && byts[n + 1] == NUL)
-***************
-*** 13414,13419 ****
---- 13413,13419 ----
-  		if (i > byts[n])	/* safety check */
-  		{
-  		    STRCPY(theword + wlen, "BAD");
-+ 		    wlen += 3;
-  		    goto badword;
-  		}
-  
-***************
-*** 13426,13432 ****
-  		wordcount += wc;
-  	    }
-  
-! 	    theword[wlen++] = byts[n + i];
-  	    n = idxs[n + i];
-  	}
-  badword:
---- 13426,13432 ----
-  		wordcount += wc;
-  	    }
-  
-! 	    theword[wlen] = byts[n + i];
-  	    n = idxs[n + i];
-  	}
-  badword:
-*** ../vim-7.4.101/src/version.c	2013-11-21 17:12:55.000000000 +0100
---- src/version.c	2013-11-21 17:38:21.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     102,
-  /**/
-
--- 
-Engineers will go without food and hygiene for days to solve a problem.
-(Other times just because they forgot.)
-				(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    ///
diff --git a/7.4.103 b/7.4.103
deleted file mode 100644
index 4dbce99..0000000
--- a/7.4.103
+++ /dev/null
@@ -1,93 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.103
-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.103
-Problem:    Dos installer uses an old way to escape spaces in the diff
-	    command.
-Solution:   Adjust the quoting to the new default shellxquote. (Ben Fritz)
-Files:	    src/dosinst.c
-
-
-*** ../vim-7.4.102/src/dosinst.c	2013-11-07 04:49:23.000000000 +0100
---- src/dosinst.c	2013-11-21 18:12:13.000000000 +0100
-***************
-*** 1192,1214 ****
-  	fprintf(fd, "  if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n");
-  
-  	/* If the path has a space:  When using cmd.exe (Win NT/2000/XP) put
-! 	 * quotes around the whole command and around the diff command.
-  	 * Otherwise put a double quote just before the space and at the
-  	 * end of the command.  Putting quotes around the whole thing
-  	 * doesn't work on Win 95/98/ME.  This is mostly guessed! */
-- 	fprintf(fd, "  let eq = ''\n");
-  	fprintf(fd, "  if $VIMRUNTIME =~ ' '\n");
-  	fprintf(fd, "    if &sh =~ '\\<cmd'\n");
-! 	fprintf(fd, "      let cmd = '\"\"' . $VIMRUNTIME . '\\diff\"'\n");
-! 	fprintf(fd, "      let eq = '\"'\n");
-  	fprintf(fd, "    else\n");
-  	fprintf(fd, "      let cmd = substitute($VIMRUNTIME, ' ', '\" ', '') . '\\diff\"'\n");
-  	fprintf(fd, "    endif\n");
-  	fprintf(fd, "  else\n");
-  	fprintf(fd, "    let cmd = $VIMRUNTIME . '\\diff'\n");
-  	fprintf(fd, "  endif\n");
-! 	fprintf(fd, "  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq\n");
-! 
-  	fprintf(fd, "endfunction\n");
-  	fprintf(fd, "\n");
-      }
---- 1192,1220 ----
-  	fprintf(fd, "  if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n");
-  
-  	/* If the path has a space:  When using cmd.exe (Win NT/2000/XP) put
-! 	 * quotes around the diff command and rely on the default value of
-!          * shellxquote to solve the quoting problem for the whole command.
-!          *
-  	 * Otherwise put a double quote just before the space and at the
-  	 * end of the command.  Putting quotes around the whole thing
-  	 * doesn't work on Win 95/98/ME.  This is mostly guessed! */
-  	fprintf(fd, "  if $VIMRUNTIME =~ ' '\n");
-  	fprintf(fd, "    if &sh =~ '\\<cmd'\n");
-! 	fprintf(fd, "      if empty(&shellxquote)\n");
-! 	fprintf(fd, "        let l:shxq_sav = ''\n");
-! 	fprintf(fd, "        set shellxquote&\n");
-! 	fprintf(fd, "      endif\n");
-! 	fprintf(fd, "      let cmd = '\"' . $VIMRUNTIME . '\\diff\"'\n");
-  	fprintf(fd, "    else\n");
-  	fprintf(fd, "      let cmd = substitute($VIMRUNTIME, ' ', '\" ', '') . '\\diff\"'\n");
-  	fprintf(fd, "    endif\n");
-  	fprintf(fd, "  else\n");
-  	fprintf(fd, "    let cmd = $VIMRUNTIME . '\\diff'\n");
-  	fprintf(fd, "  endif\n");
-! 	fprintf(fd, "  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3\n");
-! 	fprintf(fd, "  if exists('l:shxq_sav')\n");
-! 	fprintf(fd, "    let &shellxquote=l:shxq_sav\n");
-! 	fprintf(fd, "  endif\n");
-  	fprintf(fd, "endfunction\n");
-  	fprintf(fd, "\n");
-      }
-*** ../vim-7.4.102/src/version.c	2013-11-21 17:42:26.000000000 +0100
---- src/version.c	2013-11-21 18:11:08.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     103,
-  /**/
-
--- 
-The fastest way to get an engineer to solve a problem is to declare that the
-problem is unsolvable.  No engineer can walk away from an unsolvable problem
-until it's solved.
-				(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    ///
diff --git a/7.4.104 b/7.4.104
deleted file mode 100644
index 6e51568..0000000
--- a/7.4.104
+++ /dev/null
@@ -1,107 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.104
-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.104
-Problem:    ":help s/\_" reports an internal error. (John Beckett)
-Solution:   Check for NUL and invalid character classes.
-Files:	    src/regexp_nfa.c
-
-
-*** ../vim-7.4.103/src/regexp_nfa.c	2013-11-21 16:03:35.000000000 +0100
---- src/regexp_nfa.c	2013-11-28 14:05:34.000000000 +0100
-***************
-*** 239,245 ****
---- 239,247 ----
-      NFA_UPPER, NFA_NUPPER
-  };
-  
-+ static char_u e_nul_found[] = N_("E865: (NFA) Regexp end encountered prematurely");
-  static char_u e_misplaced[] = N_("E866: (NFA regexp) Misplaced %c");
-+ static char_u e_ill_char_class[] = N_("E877: (NFA regexp) Invalid character class: %ld");
-  
-  /* NFA regexp \ze operator encountered. */
-  static int nfa_has_zend;
-***************
-*** 1137,1143 ****
-      switch (c)
-      {
-  	case NUL:
-! 	    EMSG_RET_FAIL(_("E865: (NFA) Regexp end encountered prematurely"));
-  
-  	case Magic('^'):
-  	    EMIT(NFA_BOL);
---- 1139,1145 ----
-      switch (c)
-      {
-  	case NUL:
-! 	    EMSG_RET_FAIL(_(e_nul_found));
-  
-  	case Magic('^'):
-  	    EMIT(NFA_BOL);
-***************
-*** 1160,1165 ****
---- 1162,1170 ----
-  
-  	case Magic('_'):
-  	    c = no_Magic(getchr());
-+ 	    if (c == NUL)
-+ 		EMSG_RET_FAIL(_(e_nul_found));
-+ 
-  	    if (c == '^')	/* "\_^" is start-of-line */
-  	    {
-  		EMIT(NFA_BOL);
-***************
-*** 1216,1221 ****
---- 1221,1232 ----
-  	    p = vim_strchr(classchars, no_Magic(c));
-  	    if (p == NULL)
-  	    {
-+ 		if (extra == NFA_ADD_NL)
-+ 		{
-+ 		    EMSGN(_(e_ill_char_class), c);
-+ 		    rc_did_emsg = TRUE;
-+ 		    return FAIL;
-+ 		}
-  		EMSGN("INTERNAL: Unknown character class char: %ld", c);
-  		return FAIL;
-  	    }
-***************
-*** 4733,4739 ****
-  
-  	default:
-  	    /* should not be here :P */
-! 	    EMSGN("E877: (NFA regexp) Invalid character class: %ld", class);
-  	    return FAIL;
-      }
-      return FAIL;
---- 4744,4750 ----
-  
-  	default:
-  	    /* should not be here :P */
-! 	    EMSGN(_(e_ill_char_class), class);
-  	    return FAIL;
-      }
-      return FAIL;
-*** ../vim-7.4.103/src/version.c	2013-11-21 18:13:26.000000000 +0100
---- src/version.c	2013-11-28 14:06:59.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     104,
-  /**/
-
--- 
-Everybody wants to go to heaven, but nobody wants to die.
-
- /// 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    ///
diff --git a/7.4.105 b/7.4.105
deleted file mode 100644
index f219ac6..0000000
--- a/7.4.105
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.105
-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.105
-Problem:    Completing a tag pattern may give an error for invalid pattern.
-Solution:   Suppress the error, just return no matches.
-Files:	    src/tag.c
-
-
-*** ../vim-7.4.104/src/tag.c	2013-11-08 04:30:06.000000000 +0100
---- src/tag.c	2013-11-28 14:27:38.000000000 +0100
-***************
-*** 1326,1331 ****
---- 1326,1332 ----
-      int		match_no_ic = 0;/* matches with rm_ic == FALSE */
-      int		match_re;	/* match with regexp */
-      int		matchoff = 0;
-+     int		save_emsg_off;
-  
-  #ifdef FEAT_EMACS_TAGS
-      /*
-***************
-*** 1442,1448 ****
---- 1443,1452 ----
-      if (p_tl != 0 && orgpat.len > p_tl)		/* adjust for 'taglength' */
-  	orgpat.len = p_tl;
-  
-+     save_emsg_off = emsg_off;
-+     emsg_off = TRUE;  /* don't want error for invalid RE here */
-      prepare_pats(&orgpat, has_re);
-+     emsg_off = save_emsg_off;
-      if (has_re && orgpat.regmatch.regprog == NULL)
-  	goto findtag_end;
-  
-*** ../vim-7.4.104/src/version.c	2013-11-28 14:20:11.000000000 +0100
---- src/version.c	2013-11-28 14:30:35.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     105,
-  /**/
-
--- 
-The goal of science is to build better mousetraps.
-The goal of nature is to build better mice.
-
- /// 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    ///
diff --git a/7.4.106 b/7.4.106
deleted file mode 100644
index 13ab0b1..0000000
--- a/7.4.106
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.106
-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.106
-Problem:    Can't build with Ruby using Cygwin.
-Solution:   Fix library name in makefile. (Steve Hall)
-Files:	    src/Make_cyg.mak
-
-
-*** ../vim-7.4.105/src/Make_cyg.mak	2013-09-19 20:48:59.000000000 +0200
---- src/Make_cyg.mak	2013-11-28 16:29:52.000000000 +0100
-***************
-*** 1,6 ****
-  #
-  # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp.  Last Change: 2013 Sep 19
-  #
-  # Also read INSTALLpc.txt!
-  #
---- 1,6 ----
-  #
-  # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp.  Last Change: 2013 Nov 28
-  #
-  # Also read INSTALLpc.txt!
-  #
-***************
-*** 272,278 ****
-  DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
-  DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
-  else
-! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib
-  endif
-  endif
-  
---- 272,278 ----
-  DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
-  DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
-  else
-! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME)
-  endif
-  endif
-  
-*** ../vim-7.4.105/src/version.c	2013-11-28 14:36:24.000000000 +0100
---- src/version.c	2013-11-28 16:29:25.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     106,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-7. You finally do take that vacation, but only after buying a cellular modem
-   and a laptop.
-
- /// 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    ///
diff --git a/7.4.107 b/7.4.107
deleted file mode 100644
index 5ac7189..0000000
--- a/7.4.107
+++ /dev/null
@@ -1,639 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.107
-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.107
-Problem:    Python: When vim.eval() encounters a Vim error, a try/catch in the
-	    Python code doesn't catch it. (Yggdroot Chen)
-Solution:   Throw exceptions on errors in vim.eval(). (ZyX)
-Files:	    src/ex_eval.c, src/if_py_both.h, src/proto/ex_eval.pro,
-	    src/testdir/test86.in, src/testdir/test86.ok,
-	    src/testdir/test87.in, src/testdir/test87.ok
-
-
-*** ../vim-7.4.106/src/ex_eval.c	2013-06-08 15:50:28.000000000 +0200
---- src/ex_eval.c	2013-11-28 16:59:09.000000000 +0100
-***************
-*** 321,326 ****
---- 321,337 ----
-  }
-  
-  /*
-+  * Free global "*msg_list" and the messages it contains, then set "*msg_list"
-+  * to NULL.
-+  */
-+     void
-+ free_global_msglist()
-+ {
-+     free_msglist(*msg_list);
-+     *msg_list = NULL;
-+ }
-+ 
-+ /*
-   * Throw the message specified in the call to cause_errthrow() above as an
-   * error exception.  If cstack is NULL, postpone the throw until do_cmdline()
-   * has returned (see do_one_cmd()).
-***************
-*** 410,475 ****
-      return TRUE;
-  }
-  
-- 
-  /*
-!  * Throw a new exception.  Return FAIL when out of memory or it was tried to
-!  * throw an illegal user exception.  "value" is the exception string for a user
-!  * or interrupt exception, or points to a message list in case of an error
-!  * exception.
-   */
-!     static int
-! throw_exception(value, type, cmdname)
-      void	*value;
-      int		type;
-      char_u	*cmdname;
-  {
-!     except_T	*excp;
-!     char_u	*p, *mesg, *val;
-      int		cmdlen;
-! 
-!     /*
-!      * Disallow faking Interrupt or error exceptions as user exceptions.  They
-!      * would be treated differently from real interrupt or error exceptions when
-!      * no active try block is found, see do_cmdline().
-!      */
-!     if (type == ET_USER)
-!     {
-! 	if (STRNCMP((char_u *)value, "Vim", 3) == 0 &&
-! 		(((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':' ||
-! 		 ((char_u *)value)[3] == '('))
-! 	{
-! 	    EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix"));
-! 	    goto fail;
-! 	}
-!     }
-! 
-!     excp = (except_T *)alloc((unsigned)sizeof(except_T));
-!     if (excp == NULL)
-! 	goto nomem;
-  
-      if (type == ET_ERROR)
-      {
-! 	/* Store the original message and prefix the exception value with
-! 	 * "Vim:" or, if a command name is given, "Vim(cmdname):". */
-! 	excp->messages = (struct msglist *)value;
-! 	mesg = excp->messages->throw_msg;
-  	if (cmdname != NULL && *cmdname != NUL)
-  	{
-  	    cmdlen = (int)STRLEN(cmdname);
-! 	    excp->value = vim_strnsave((char_u *)"Vim(",
-  					   4 + cmdlen + 2 + (int)STRLEN(mesg));
-! 	    if (excp->value == NULL)
-! 		goto nomem;
-! 	    STRCPY(&excp->value[4], cmdname);
-! 	    STRCPY(&excp->value[4 + cmdlen], "):");
-! 	    val = excp->value + 4 + cmdlen + 2;
-  	}
-  	else
-  	{
-! 	    excp->value = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg));
-! 	    if (excp->value == NULL)
-! 		goto nomem;
-! 	    val = excp->value + 4;
-  	}
-  
-  	/* msg_add_fname may have been used to prefix the message with a file
---- 421,461 ----
-      return TRUE;
-  }
-  
-  /*
-!  * Get an exception message that is to be stored in current_exception->value.
-   */
-!     char_u *
-! get_exception_string(value, type, cmdname, should_free)
-      void	*value;
-      int		type;
-      char_u	*cmdname;
-+     int		*should_free;
-  {
-!     char_u	*ret, *mesg;
-      int		cmdlen;
-!     char_u	*p, *val;
-  
-      if (type == ET_ERROR)
-      {
-! 	*should_free = FALSE;
-! 	mesg = ((struct msglist *)value)->throw_msg;
-  	if (cmdname != NULL && *cmdname != NUL)
-  	{
-  	    cmdlen = (int)STRLEN(cmdname);
-! 	    ret = vim_strnsave((char_u *)"Vim(",
-  					   4 + cmdlen + 2 + (int)STRLEN(mesg));
-! 	    if (ret == NULL)
-! 		return ret;
-! 	    STRCPY(&ret[4], cmdname);
-! 	    STRCPY(&ret[4 + cmdlen], "):");
-! 	    val = ret + 4 + cmdlen + 2;
-  	}
-  	else
-  	{
-! 	    ret = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg));
-! 	    if (ret == NULL)
-! 		return ret;
-! 	    val = ret + 4;
-  	}
-  
-  	/* msg_add_fname may have been used to prefix the message with a file
-***************
-*** 506,519 ****
-  	}
-      }
-      else
-! 	excp->value = value;
-  
-      excp->type = type;
-      excp->throw_name = vim_strsave(sourcing_name == NULL
-  					      ? (char_u *)"" : sourcing_name);
-      if (excp->throw_name == NULL)
-      {
-! 	if (type == ET_ERROR)
-  	    vim_free(excp->value);
-  	goto nomem;
-      }
---- 492,556 ----
-  	}
-      }
-      else
-!     {
-! 	*should_free = FALSE;
-! 	ret = (char_u *) value;
-!     }
-! 
-!     return ret;
-! }
-! 
-! 
-! /*
-!  * Throw a new exception.  Return FAIL when out of memory or it was tried to
-!  * throw an illegal user exception.  "value" is the exception string for a
-!  * user or interrupt exception, or points to a message list in case of an
-!  * error exception.
-!  */
-!     static int
-! throw_exception(value, type, cmdname)
-!     void	*value;
-!     int		type;
-!     char_u	*cmdname;
-! {
-!     except_T	*excp;
-!     int		should_free;
-! 
-!     /*
-!      * Disallow faking Interrupt or error exceptions as user exceptions.  They
-!      * would be treated differently from real interrupt or error exceptions
-!      * when no active try block is found, see do_cmdline().
-!      */
-!     if (type == ET_USER)
-!     {
-! 	if (STRNCMP((char_u *)value, "Vim", 3) == 0
-! 		&& (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':'
-! 		    || ((char_u *)value)[3] == '('))
-! 	{
-! 	    EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix"));
-! 	    goto fail;
-! 	}
-!     }
-! 
-!     excp = (except_T *)alloc((unsigned)sizeof(except_T));
-!     if (excp == NULL)
-! 	goto nomem;
-! 
-!     if (type == ET_ERROR)
-! 	/* Store the original message and prefix the exception value with
-! 	 * "Vim:" or, if a command name is given, "Vim(cmdname):". */
-! 	excp->messages = (struct msglist *)value;
-! 
-!     excp->value = get_exception_string(value, type, cmdname, &should_free);
-!     if (excp->value == NULL && should_free)
-! 	goto nomem;
-  
-      excp->type = type;
-      excp->throw_name = vim_strsave(sourcing_name == NULL
-  					      ? (char_u *)"" : sourcing_name);
-      if (excp->throw_name == NULL)
-      {
-! 	if (should_free)
-  	    vim_free(excp->value);
-  	goto nomem;
-      }
-***************
-*** 2033,2042 ****
-  	/* If an error was about to be converted to an exception when
-  	 * enter_cleanup() was called, free the message list. */
-  	if (msg_list != NULL)
-! 	{
-! 	    free_msglist(*msg_list);
-! 	    *msg_list = NULL;
-! 	}
-      }
-  
-      /*
---- 2070,2076 ----
-  	/* If an error was about to be converted to an exception when
-  	 * enter_cleanup() was called, free the message list. */
-  	if (msg_list != NULL)
-! 	    free_global_msglist();
-      }
-  
-      /*
-*** ../vim-7.4.106/src/if_py_both.h	2013-11-11 01:05:43.000000000 +0100
---- src/if_py_both.h	2013-11-28 17:00:22.000000000 +0100
-***************
-*** 566,571 ****
---- 566,593 ----
-  	PyErr_SetNone(PyExc_KeyboardInterrupt);
-  	return -1;
-      }
-+     else if (msg_list != NULL && *msg_list != NULL)
-+     {
-+ 	int	should_free;
-+ 	char_u	*msg;
-+ 
-+ 	msg = get_exception_string(*msg_list, ET_ERROR, NULL, &should_free);
-+ 
-+ 	if (msg == NULL)
-+ 	{
-+ 	    PyErr_NoMemory();
-+ 	    return -1;
-+ 	}
-+ 
-+ 	PyErr_SetVim((char *) msg);
-+ 
-+ 	free_global_msglist();
-+ 
-+ 	if (should_free)
-+ 	    vim_free(msg);
-+ 
-+ 	return -1;
-+     }
-      else if (!did_throw)
-  	return (PyErr_Occurred() ? -1 : 0);
-      /* Python exception is preferred over vim one; unlikely to occur though */
-*** ../vim-7.4.106/src/proto/ex_eval.pro	2013-08-10 13:37:10.000000000 +0200
---- src/proto/ex_eval.pro	2013-11-28 16:56:33.000000000 +0100
-***************
-*** 4,11 ****
---- 4,13 ----
-  int should_abort __ARGS((int retcode));
-  int aborted_in_try __ARGS((void));
-  int cause_errthrow __ARGS((char_u *mesg, int severe, int *ignore));
-+ void free_global_msglist __ARGS((void));
-  void do_errthrow __ARGS((struct condstack *cstack, char_u *cmdname));
-  int do_intthrow __ARGS((struct condstack *cstack));
-+ char_u *get_exception_string __ARGS((void *value, int type, char_u *cmdname, int *should_free));
-  void discard_current_exception __ARGS((void));
-  void report_make_pending __ARGS((int pending, void *value));
-  void report_resume_pending __ARGS((int pending, void *value));
-*** ../vim-7.4.106/src/testdir/test86.in	2013-11-11 01:05:43.000000000 +0100
---- src/testdir/test86.in	2013-11-28 16:41:01.000000000 +0100
-***************
-*** 179,184 ****
---- 179,210 ----
-  :unlockvar! l
-  :"
-  :" Function calls
-+ py << EOF
-+ import sys
-+ def ee(expr, g=globals(), l=locals()):
-+     try:
-+         exec(expr, g, l)
-+     except:
-+         ei = sys.exc_info()
-+         msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args)
-+         msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'')
-+         if expr.find('None') > -1:
-+             msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
-+                               'TypeError:("\'NoneType\' object is not iterable",)')
-+         if expr.find('FailingNumber') > -1:
-+             msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'')
-+             msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
-+                               'TypeError:("\'FailingNumber\' object is not iterable",)')
-+         if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1:
-+             msg = msg.replace('(\'', '("').replace('\',)', '",)')
-+         if expr == 'fd(self=[])':
-+             # HACK: PyMapping_Check changed meaning
-+             msg = msg.replace('AttributeError:(\'keys\',)',
-+                               'TypeError:(\'unable to convert list to vim dictionary\',)')
-+         vim.current.buffer.append(expr + ':' + msg)
-+     else:
-+         vim.current.buffer.append(expr + ':NOT FAILED')
-+ EOF
-  :fun New(...)
-  :   return ['NewStart']+a:000+['NewEnd']
-  :endfun
-***************
-*** 193,210 ****
-  :$put =string(l)
-  :py l.extend([l[0].name])
-  :$put =string(l)
-! :try
-! :   py l[1](1, 2, 3)
-! :catch
-! :   $put =v:exception[:16]
-! :endtry
-  :py f=l[0]
-  :delfunction New
-! :try
-! :   py f(1, 2, 3)
-! :catch
-! :   $put =v:exception[:16]
-! :endtry
-  :if has('float')
-  :   let l=[0.0]
-  :   py l=vim.bindeval('l')
---- 219,228 ----
-  :$put =string(l)
-  :py l.extend([l[0].name])
-  :$put =string(l)
-! :py ee('l[1](1, 2, 3)')
-  :py f=l[0]
-  :delfunction New
-! :py ee('f(1, 2, 3)')
-  :if has('float')
-  :   let l=[0.0]
-  :   py l=vim.bindeval('l')
-***************
-*** 216,222 ****
-  :let messages=[]
-  :delfunction DictNew
-  py <<EOF
-- import sys
-  d=vim.bindeval('{}')
-  m=vim.bindeval('messages')
-  def em(expr, g=globals(), l=locals()):
---- 234,239 ----
-***************
-*** 323,328 ****
---- 340,346 ----
-  :py l[0] = t.t > 8  # check if the background thread is working
-  :py del time
-  :py del threading
-+ :py del t
-  :$put =string(l)
-  :"
-  :" settrace
-***************
-*** 882,910 ****
-  :fun D()
-  :endfun
-  py << EOF
-- def ee(expr, g=globals(), l=locals()):
--     try:
--         exec(expr, g, l)
--     except:
--         ei = sys.exc_info()
--         msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args)
--         msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'')
--         if expr.find('None') > -1:
--             msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
--                               'TypeError:("\'NoneType\' object is not iterable",)')
--         if expr.find('FailingNumber') > -1:
--             msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'')
--             msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
--                               'TypeError:("\'FailingNumber\' object is not iterable",)')
--         if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1:
--             msg = msg.replace('(\'', '("').replace('\',)', '",)')
--         if expr == 'fd(self=[])':
--             # HACK: PyMapping_Check changed meaning
--             msg = msg.replace('AttributeError:(\'keys\',)',
--                               'TypeError:(\'unable to convert list to vim dictionary\',)')
--         cb.append(expr + ':' + msg)
--     else:
--         cb.append(expr + ':NOT FAILED')
-  d = vim.Dictionary()
-  ned = vim.Dictionary(foo='bar', baz='abcD')
-  dl = vim.Dictionary(a=1)
---- 900,905 ----
-***************
-*** 1276,1281 ****
---- 1271,1277 ----
-  ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')
-  ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')
-  ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")')
-+ ee('vim.eval("xxx_unknown_function_xxx()")')
-  ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")')
-  del Exe
-  EOF
-*** ../vim-7.4.106/src/testdir/test86.ok	2013-11-11 01:05:43.000000000 +0100
---- src/testdir/test86.ok	2013-11-28 16:41:01.000000000 +0100
-***************
-*** 53,60 ****
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
-! Vim(python):E725:
-! Vim(python):E117:
-  [0.0, 0.0]
-  KeyError
-  TypeError
---- 53,60 ----
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
-! l[1](1, 2, 3):error:('Vim:E725: Calling dict function without Dictionary: DictNew',)
-! f(1, 2, 3):error:('Vim:E117: Unknown function: New',)
-  [0.0, 0.0]
-  KeyError
-  TypeError
-***************
-*** 1197,1202 ****
---- 1197,1203 ----
-  vim.eval("Exe('throw ''ghi''')"):error:('ghi',)
-  vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',)
-  vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
-+ vim.eval("xxx_unknown_function_xxx()"):error:('Vim:E117: Unknown function: xxx_unknown_function_xxx',)
-  vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
-  Caught KeyboardInterrupt
-  Running :put
-*** ../vim-7.4.106/src/testdir/test87.in	2013-11-11 01:05:43.000000000 +0100
---- src/testdir/test87.in	2013-11-28 16:41:01.000000000 +0100
-***************
-*** 172,177 ****
---- 172,207 ----
-  :unlockvar! l
-  :"
-  :" Function calls
-+ py3 << EOF
-+ import sys
-+ import re
-+ 
-+ py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$')
-+ 
-+ def ee(expr, g=globals(), l=locals()):
-+     cb = vim.current.buffer
-+     try:
-+         try:
-+             exec(expr, g, l)
-+         except Exception as e:
-+             if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):
-+                 cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1]))))
-+             elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0:
-+                 cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", '')))))
-+             elif sys.version_info >= (3, 3) and e.__class__ is TypeError:
-+                 m = py33_type_error_pattern.search(str(e))
-+                 if m:
-+                     msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2))
-+                     cb.append(expr + ':' + repr((e.__class__, TypeError(msg))))
-+                 else:
-+                     cb.append(expr + ':' + repr((e.__class__, e)))
-+             else:
-+                 cb.append(expr + ':' + repr((e.__class__, e)))
-+         else:
-+             cb.append(expr + ':NOT FAILED')
-+     except Exception as e:
-+         cb.append(expr + '::' + repr((e.__class__, e)))
-+ EOF
-  :fun New(...)
-  :   return ['NewStart']+a:000+['NewEnd']
-  :endfun
-***************
-*** 186,203 ****
-  :$put =string(l)
-  :py3 l+=[l[0].name]
-  :$put =string(l)
-! :try
-! :   py3 l[1](1, 2, 3)
-! :catch
-! :   $put =v:exception[:13]
-! :endtry
-  :py3 f=l[0]
-  :delfunction New
-! :try
-! :   py3 f(1, 2, 3)
-! :catch
-! :   $put =v:exception[:13]
-! :endtry
-  :if has('float')
-  :   let l=[0.0]
-  :   py3 l=vim.bindeval('l')
---- 216,225 ----
-  :$put =string(l)
-  :py3 l+=[l[0].name]
-  :$put =string(l)
-! :py3 ee('l[1](1, 2, 3)')
-  :py3 f=l[0]
-  :delfunction New
-! :py3 ee('f(1, 2, 3)')
-  :if has('float')
-  :   let l=[0.0]
-  :   py3 l=vim.bindeval('l')
-***************
-*** 315,320 ****
---- 337,343 ----
-  :py3 l[0] = t.t > 8  # check if the background thread is working
-  :py3 del time
-  :py3 del threading
-+ :py3 del t
-  :$put =string(l)
-  :"
-  :" settrace
-***************
-*** 829,861 ****
-  :fun D()
-  :endfun
-  py3 << EOF
-- import re
-- 
-- py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$')
-- 
-- def ee(expr, g=globals(), l=locals()):
--     try:
--         try:
--             exec(expr, g, l)
--         except Exception as e:
--             if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):
--                 cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1]))))
--             elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0:
--                 cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", '')))))
--             elif sys.version_info >= (3, 3) and e.__class__ is TypeError:
--                 m = py33_type_error_pattern.search(str(e))
--                 if m:
--                     msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2))
--                     cb.append(expr + ':' + repr((e.__class__, TypeError(msg))))
--                 else:
--                     cb.append(expr + ':' + repr((e.__class__, e)))
--             else:
--                 cb.append(expr + ':' + repr((e.__class__, e)))
--         else:
--             cb.append(expr + ':NOT FAILED')
--     except Exception as e:
--         cb.append(expr + '::' + repr((e.__class__, e)))
-- 
-  d = vim.Dictionary()
-  ned = vim.Dictionary(foo='bar', baz='abcD')
-  dl = vim.Dictionary(a=1)
---- 852,857 ----
-***************
-*** 1227,1232 ****
---- 1223,1229 ----
-  ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')
-  ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')
-  ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")')
-+ ee('vim.eval("xxx_unknown_function_xxx()")')
-  ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")')
-  del Exe
-  EOF
-*** ../vim-7.4.106/src/testdir/test87.ok	2013-11-11 01:05:43.000000000 +0100
---- src/testdir/test87.ok	2013-11-28 16:41:01.000000000 +0100
-***************
-*** 53,60 ****
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
-! Vim(py3):E725:
-! Vim(py3):E117:
-  [0.0, 0.0]
-  KeyError
-  TypeError
---- 53,60 ----
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
-! l[1](1, 2, 3):(<class 'vim.error'>, error('Vim:E725: Calling dict function without Dictionary: DictNew',))
-! f(1, 2, 3):(<class 'vim.error'>, error('Vim:E117: Unknown function: New',))
-  [0.0, 0.0]
-  KeyError
-  TypeError
-***************
-*** 1186,1191 ****
---- 1186,1192 ----
-  vim.eval("Exe('throw ''ghi''')"):(<class 'vim.error'>, error('ghi',))
-  vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkl',))
-  vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
-+ vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unknown function: xxx_unknown_function_xxx',))
-  vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
-  Caught KeyboardInterrupt
-  Running :put
-*** ../vim-7.4.106/src/version.c	2013-11-28 16:32:34.000000000 +0100
---- src/version.c	2013-11-28 16:41:43.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     107,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-8. You spend half of the plane trip with your laptop on your lap...and your
-   child in the overhead compartment.
-
- /// 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    ///
diff --git a/7.4.108 b/7.4.108
deleted file mode 100644
index 0542347..0000000
--- a/7.4.108
+++ /dev/null
@@ -1,215 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.108
-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.108
-Problem:    "zG" and "zW" leave temp files around on MS-Windows.
-Solution:   Delete the temp files when exiting. (Ken Takata)
-Files:	    src/memline.c, src/proto/spell.pro, src/spell.c
-
-
-*** ../vim-7.4.107/src/memline.c	2013-11-04 02:53:46.000000000 +0100
---- src/memline.c	2013-11-28 17:27:06.000000000 +0100
-***************
-*** 841,848 ****
-      for (buf = firstbuf; buf != NULL; buf = buf->b_next)
-  	ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0
-  				 || vim_strchr(p_cpo, CPO_PRESERVE) == NULL));
-  #ifdef TEMPDIRNAMES
-!     vim_deltempdir();	    /* delete created temp directory */
-  #endif
-  }
-  
---- 841,851 ----
-      for (buf = firstbuf; buf != NULL; buf = buf->b_next)
-  	ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0
-  				 || vim_strchr(p_cpo, CPO_PRESERVE) == NULL));
-+ #ifdef FEAT_SPELL
-+     spell_delete_wordlist();	/* delete the internal wordlist */
-+ #endif
-  #ifdef TEMPDIRNAMES
-!     vim_deltempdir();		/* delete created temp directory */
-  #endif
-  }
-  
-*** ../vim-7.4.107/src/proto/spell.pro	2013-08-10 13:37:26.000000000 +0200
---- src/proto/spell.pro	2013-11-28 17:25:59.000000000 +0100
-***************
-*** 3,8 ****
---- 3,9 ----
-  int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp));
-  void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen));
-  char_u *did_set_spelllang __ARGS((win_T *wp));
-+ void spell_delete_wordlist __ARGS((void));
-  void spell_free_all __ARGS((void));
-  void spell_reload __ARGS((void));
-  int spell_check_msm __ARGS((void));
-*** ../vim-7.4.107/src/spell.c	2013-11-21 17:42:26.000000000 +0100
---- src/spell.c	2013-11-28 17:25:59.000000000 +0100
-***************
-*** 2180,2188 ****
-      char_u	*endp;
-      hlf_T	attr;
-      int		len;
-! # ifdef FEAT_SYN_HL
-      int		has_syntax = syntax_present(wp);
-! # endif
-      int		col;
-      int		can_spell;
-      char_u	*buf = NULL;
---- 2180,2188 ----
-      char_u	*endp;
-      hlf_T	attr;
-      int		len;
-! #ifdef FEAT_SYN_HL
-      int		has_syntax = syntax_present(wp);
-! #endif
-      int		col;
-      int		can_spell;
-      char_u	*buf = NULL;
-***************
-*** 2280,2286 ****
-  						     : p - buf)
-  						  > wp->w_cursor.col)))
-  		    {
-! # ifdef FEAT_SYN_HL
-  			if (has_syntax)
-  			{
-  			    col = (int)(p - buf);
---- 2280,2286 ----
-  						     : p - buf)
-  						  > wp->w_cursor.col)))
-  		    {
-! #ifdef FEAT_SYN_HL
-  			if (has_syntax)
-  			{
-  			    col = (int)(p - buf);
-***************
-*** 4701,4707 ****
-      return flags;
-  }
-  
-! # if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO)
-  /*
-   * Free all languages.
-   */
---- 4701,4725 ----
-      return flags;
-  }
-  
-! /*
-!  * Delete the internal wordlist and its .spl file.
-!  */
-!     void
-! spell_delete_wordlist()
-! {
-!     char_u	fname[MAXPATHL];
-! 
-!     if (int_wordlist != NULL)
-!     {
-! 	mch_remove(int_wordlist);
-! 	int_wordlist_spl(fname);
-! 	mch_remove(fname);
-! 	vim_free(int_wordlist);
-! 	int_wordlist = NULL;
-!     }
-! }
-! 
-! #if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO)
-  /*
-   * Free all languages.
-   */
-***************
-*** 4710,4716 ****
-  {
-      slang_T	*slang;
-      buf_T	*buf;
--     char_u	fname[MAXPATHL];
-  
-      /* Go through all buffers and handle 'spelllang'. <VN> */
-      for (buf = firstbuf; buf != NULL; buf = buf->b_next)
---- 4728,4733 ----
-***************
-*** 4723,4746 ****
-  	slang_free(slang);
-      }
-  
-!     if (int_wordlist != NULL)
-!     {
-! 	/* Delete the internal wordlist and its .spl file */
-! 	mch_remove(int_wordlist);
-! 	int_wordlist_spl(fname);
-! 	mch_remove(fname);
-! 	vim_free(int_wordlist);
-! 	int_wordlist = NULL;
-!     }
-  
-      vim_free(repl_to);
-      repl_to = NULL;
-      vim_free(repl_from);
-      repl_from = NULL;
-  }
-! # endif
-  
-! # if defined(FEAT_MBYTE) || defined(PROTO)
-  /*
-   * Clear all spelling tables and reload them.
-   * Used after 'encoding' is set and when ":mkspell" was used.
---- 4740,4755 ----
-  	slang_free(slang);
-      }
-  
-!     spell_delete_wordlist();
-  
-      vim_free(repl_to);
-      repl_to = NULL;
-      vim_free(repl_from);
-      repl_from = NULL;
-  }
-! #endif
-  
-! #if defined(FEAT_MBYTE) || defined(PROTO)
-  /*
-   * Clear all spelling tables and reload them.
-   * Used after 'encoding' is set and when ":mkspell" was used.
-***************
-*** 4773,4779 ****
-  	}
-      }
-  }
-! # endif
-  
-  /*
-   * Reload the spell file "fname" if it's loaded.
---- 4782,4788 ----
-  	}
-      }
-  }
-! #endif
-  
-  /*
-   * Reload the spell file "fname" if it's loaded.
-*** ../vim-7.4.107/src/version.c	2013-11-28 17:04:38.000000000 +0100
---- src/version.c	2013-11-28 17:26:31.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     108,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-9. All your daydreaming is preoccupied with getting a faster connection to the
-   net: 28.8...ISDN...cable modem...T1...T3.
-
- /// 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    ///
diff --git a/7.4.109 b/7.4.109
deleted file mode 100644
index 70ed86d..0000000
--- a/7.4.109
+++ /dev/null
@@ -1,123 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.109
-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.109
-Problem:    ColorScheme autocommand matches with the current buffer name.
-Solution:   Match with the colorscheme name. (Christian Brabandt)
-Files:	    runtime/doc/autocmd.txt, src/fileio.c, src/syntax.c
-
-
-*** ../vim-7.4.108/runtime/doc/autocmd.txt	2013-08-10 13:24:52.000000000 +0200
---- runtime/doc/autocmd.txt	2013-11-28 18:44:20.000000000 +0100
-***************
-*** 480,485 ****
---- 480,491 ----
-  				|cmdwin-char|
-  							*ColorScheme*
-  ColorScheme			After loading a color scheme. |:colorscheme|
-+ 				The pattern is matched against the
-+ 				colorscheme name. <afile> can be used for the
-+ 				name of the actual file where this option was
-+ 				set, and <amatch> for the new colorscheme
-+ 				name.
-+ 
-  
-  							*CompleteDone*
-  CompleteDone			After Insert mode completion is done.  Either
-*** ../vim-7.4.108/src/fileio.c	2013-11-12 18:09:20.000000000 +0100
---- src/fileio.c	2013-11-28 18:44:20.000000000 +0100
-***************
-*** 9330,9336 ****
-       */
-      if (fname_io == NULL)
-      {
-! 	if (fname != NULL && *fname != NUL)
-  	    autocmd_fname = fname;
-  	else if (buf != NULL)
-  	    autocmd_fname = buf->b_ffname;
---- 9330,9338 ----
-       */
-      if (fname_io == NULL)
-      {
-! 	if (event == EVENT_COLORSCHEME)
-! 	    autocmd_fname = NULL;
-! 	else if (fname != NULL && *fname != NUL)
-  	    autocmd_fname = fname;
-  	else if (buf != NULL)
-  	    autocmd_fname = buf->b_ffname;
-***************
-*** 9383,9396 ****
-      else
-      {
-  	sfname = vim_strsave(fname);
-! 	/* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or
-! 	 * QuickFixCmd* */
-  	if (event == EVENT_FILETYPE
-  		|| event == EVENT_SYNTAX
-  		|| event == EVENT_FUNCUNDEFINED
-  		|| event == EVENT_REMOTEREPLY
-  		|| event == EVENT_SPELLFILEMISSING
-  		|| event == EVENT_QUICKFIXCMDPRE
-  		|| event == EVENT_QUICKFIXCMDPOST)
-  	    fname = vim_strsave(fname);
-  	else
---- 9385,9399 ----
-      else
-      {
-  	sfname = vim_strsave(fname);
-! 	/* Don't try expanding FileType, Syntax, FuncUndefined, WindowID,
-! 	 * ColorScheme or QuickFixCmd* */
-  	if (event == EVENT_FILETYPE
-  		|| event == EVENT_SYNTAX
-  		|| event == EVENT_FUNCUNDEFINED
-  		|| event == EVENT_REMOTEREPLY
-  		|| event == EVENT_SPELLFILEMISSING
-  		|| event == EVENT_QUICKFIXCMDPRE
-+ 		|| event == EVENT_COLORSCHEME
-  		|| event == EVENT_QUICKFIXCMDPOST)
-  	    fname = vim_strsave(fname);
-  	else
-*** ../vim-7.4.108/src/syntax.c	2013-06-08 16:10:08.000000000 +0200
---- src/syntax.c	2013-11-28 18:44:20.000000000 +0100
-***************
-*** 7071,7077 ****
-  	retval = source_runtime(buf, FALSE);
-  	vim_free(buf);
-  #ifdef FEAT_AUTOCMD
-! 	apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf);
-  #endif
-      }
-      recursive = FALSE;
---- 7071,7077 ----
-  	retval = source_runtime(buf, FALSE);
-  	vim_free(buf);
-  #ifdef FEAT_AUTOCMD
-! 	apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf);
-  #endif
-      }
-      recursive = FALSE;
-*** ../vim-7.4.108/src/version.c	2013-11-28 17:41:41.000000000 +0100
---- src/version.c	2013-11-28 18:48:42.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     109,
-  /**/
-
--- 
-"How is your new girlfriend?"
-"90-60-90 man!"
-"What, pale purple?"
-
- /// 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    ///
diff --git a/7.4.110 b/7.4.110
deleted file mode 100644
index 0a40ee9..0000000
--- a/7.4.110
+++ /dev/null
@@ -1,102 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.110
-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.110
-Problem:    "gUgn" cannot be repeeated. (Dimitar Dimitrov)
-Solution:   Don't put "gn" in a different order in the redo buffer.  Restore
-	    'wrapscan' when the pattern isn't found. (Christian Wellenbrock)
-Files:	    src/normal.c, src/search.c, src/test53.in, src/test53.ok
-
-
-*** ../vim-7.4.109/src/normal.c	2013-11-04 01:41:11.000000000 +0100
---- src/normal.c	2013-11-28 19:02:45.000000000 +0100
-***************
-*** 962,972 ****
-  #ifdef FEAT_CMDL_INFO
-  	    need_flushbuf |= add_to_showcmd(ca.nchar);
-  #endif
-- 	    /* For "gn" from redo, need to get one more char to determine the
-- 	     * operator */
-  	    if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
-! 						       || ca.nchar == Ctrl_BSL
-! 		  || ((ca.nchar == 'n' || ca.nchar == 'N') && !stuff_empty()))
-  	    {
-  		cp = &ca.extra_char;	/* need to get a third character */
-  		if (ca.nchar != 'r')
---- 962,969 ----
-  #ifdef FEAT_CMDL_INFO
-  	    need_flushbuf |= add_to_showcmd(ca.nchar);
-  #endif
-  	    if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
-! 						       || ca.nchar == Ctrl_BSL)
-  	    {
-  		cp = &ca.extra_char;	/* need to get a third character */
-  		if (ca.nchar != 'r')
-***************
-*** 1797,1806 ****
-  		 * otherwise it might be the second char of the operator. */
-  		if (cap->cmdchar == 'g' && (cap->nchar == 'n'
-  							|| cap->nchar == 'N'))
-! 		    /* "gn" and "gN" are a bit different */
-! 		    prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar,
-! 					get_op_char(oap->op_type),
-! 					get_extra_op_char(oap->op_type));
-  		else if (cap->cmdchar != ':')
-  		    prep_redo(oap->regname, 0L, NUL, 'v',
-  					get_op_char(oap->op_type),
---- 1794,1802 ----
-  		 * otherwise it might be the second char of the operator. */
-  		if (cap->cmdchar == 'g' && (cap->nchar == 'n'
-  							|| cap->nchar == 'N'))
-! 		    prep_redo(oap->regname, cap->count0,
-! 			    get_op_char(oap->op_type), get_extra_op_char(oap->op_type),
-! 			    oap->motion_force, cap->cmdchar, cap->nchar);
-  		else if (cap->cmdchar != ':')
-  		    prep_redo(oap->regname, 0L, NUL, 'v',
-  					get_op_char(oap->op_type),
-*** ../vim-7.4.109/src/search.c	2013-11-08 04:30:06.000000000 +0100
---- src/search.c	2013-11-28 19:05:16.000000000 +0100
-***************
-*** 4544,4550 ****
-      /* Is the pattern is zero-width? */
-      one_char = is_one_char(spats[last_idx].pat);
-      if (one_char == -1)
-! 	return FAIL;  /* invalid pattern */
-  
-      /*
-       * The trick is to first search backwards and then search forward again,
---- 4544,4553 ----
-      /* Is the pattern is zero-width? */
-      one_char = is_one_char(spats[last_idx].pat);
-      if (one_char == -1)
-!     {
-! 	p_ws = old_p_ws;
-! 	return FAIL;  /* pattern not found */
-!     }
-  
-      /*
-       * The trick is to first search backwards and then search forward again,
-*** ../vim-7.4.109/src/version.c	2013-11-28 18:53:47.000000000 +0100
---- src/version.c	2013-11-28 19:20:29.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     110,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-10. And even your night dreams are in HTML.
-
- /// 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    ///
diff --git a/7.4.111 b/7.4.111
deleted file mode 100644
index e8c7a48..0000000
--- a/7.4.111
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.111
-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.111
-Problem:    Memory leak in Python OptionsAssItem. (Ken Takata)
-Solution:   Call Py_XDECREF() where needed. (ZyX)
-Files:	    src/if_py_both.h
-
-
-*** ../vim-7.4.110/src/if_py_both.h	2013-11-28 17:04:38.000000000 +0100
---- src/if_py_both.h	2013-12-07 14:23:00.000000000 +0100
-***************
-*** 3005,3015 ****
-      else
-      {
-  	char_u		*val;
-! 	PyObject	*todecref;
-  
-! 	if ((val = StringToChars(valObject, &todecref)))
-  	    ret = set_option_value_for(key, 0, val, opt_flags,
-  				    self->opt_type, self->from);
-  	else
-  	    ret = -1;
-      }
---- 3005,3018 ----
-      else
-      {
-  	char_u		*val;
-! 	PyObject	*todecref2;
-  
-! 	if ((val = StringToChars(valObject, &todecref2)))
-! 	{
-  	    ret = set_option_value_for(key, 0, val, opt_flags,
-  				    self->opt_type, self->from);
-+ 	    Py_XDECREF(todecref2);
-+ 	}
-  	else
-  	    ret = -1;
-      }
-*** ../vim-7.4.110/src/version.c	2013-11-28 19:27:18.000000000 +0100
---- src/version.c	2013-12-07 14:24:16.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     111,
-  /**/
-
--- 
-How To Keep A Healthy Level Of Insanity:
-12. Sing along at the opera.
-
- /// 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    ///
diff --git a/7.4.112 b/7.4.112
deleted file mode 100644
index ab64e13..0000000
--- a/7.4.112
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.112
-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.112
-Problem:    The defaults for 'directory' and 'backupdir' on MS-Windows do not
-	    include a directory that exists.
-Solution:   Use $TEMP.
-Files:	    src/os_dos.h
-
-
-*** ../vim-7.4.111/src/os_dos.h	2013-06-12 20:09:44.000000000 +0200
---- src/os_dos.h	2013-12-04 15:23:22.000000000 +0100
-***************
-*** 109,115 ****
-  #endif
-  
-  #ifndef DFLT_BDIR
-! # define DFLT_BDIR	".,c:\\tmp,c:\\temp"	/* default for 'backupdir' */
-  #endif
-  
-  #ifndef DFLT_VDIR
---- 109,115 ----
-  #endif
-  
-  #ifndef DFLT_BDIR
-! # define DFLT_BDIR	".,$TEMP,c:\\tmp,c:\\temp" /* default for 'backupdir' */
-  #endif
-  
-  #ifndef DFLT_VDIR
-***************
-*** 117,123 ****
-  #endif
-  
-  #ifndef DFLT_DIR
-! # define DFLT_DIR	".,c:\\tmp,c:\\temp"	/* default for 'directory' */
-  #endif
-  
-  #define DFLT_ERRORFILE		"errors.err"
---- 117,123 ----
-  #endif
-  
-  #ifndef DFLT_DIR
-! # define DFLT_DIR	".,$TEMP,c:\\tmp,c:\\temp" /* default for 'directory' */
-  #endif
-  
-  #define DFLT_ERRORFILE		"errors.err"
-*** ../vim-7.4.111/src/version.c	2013-12-07 14:28:37.000000000 +0100
---- src/version.c	2013-12-07 14:31:03.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     112,
-  /**/
-
--- 
-How To Keep A Healthy Level Of Insanity:
-13. Go to a poetry recital and ask why the poems don't rhyme.
-
- /// 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    ///
diff --git a/7.4.113 b/7.4.113
deleted file mode 100644
index 97059e5..0000000
--- a/7.4.113
+++ /dev/null
@@ -1,101 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.113
-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.113
-Problem:    MSVC static analysis gives warnings.
-Solution:   Avoid the warnings and avoid possible bugs. (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.112/src/os_win32.c	2013-11-21 12:34:07.000000000 +0100
---- src/os_win32.c	2013-12-07 14:41:35.000000000 +0100
-***************
-*** 2509,2515 ****
-      WCHAR		*porig, *porigPrev;
-      int			flen;
-      WIN32_FIND_DATAW	fb;
-!     HANDLE		hFind;
-      int			c;
-      int			slen;
-  
---- 2509,2515 ----
-      WCHAR		*porig, *porigPrev;
-      int			flen;
-      WIN32_FIND_DATAW	fb;
-!     HANDLE		hFind = INVALID_HANDLE_VALUE;
-      int			c;
-      int			slen;
-  
-***************
-*** 2528,2535 ****
-  	/* copy leading drive letter */
-  	*ptrue++ = *porig++;
-  	*ptrue++ = *porig++;
-- 	*ptrue = NUL;	    /* in case nothing follows */
-      }
-  
-      while (*porig != NUL)
-      {
---- 2528,2535 ----
-  	/* copy leading drive letter */
-  	*ptrue++ = *porig++;
-  	*ptrue++ = *porig++;
-      }
-+     *ptrue = NUL;	    /* in case nothing follows */
-  
-      while (*porig != NUL)
-      {
-***************
-*** 2673,2680 ****
-  	/* copy leading drive letter */
-  	*ptrue++ = *porig++;
-  	*ptrue++ = *porig++;
-- 	*ptrue = NUL;	    /* in case nothing follows */
-      }
-  
-      while (*porig != NUL)
-      {
---- 2673,2680 ----
-  	/* copy leading drive letter */
-  	*ptrue++ = *porig++;
-  	*ptrue++ = *porig++;
-      }
-+     *ptrue = NUL;	    /* in case nothing follows */
-  
-      while (*porig != NUL)
-      {
-***************
-*** 6272,6277 ****
---- 6272,6278 ----
-  		    while (i > 0)
-  			free(argv[--i]);
-  		    free(argv);
-+ 		    argv = NULL;
-  		    argc = 0;
-  		}
-  	    }
-*** ../vim-7.4.112/src/version.c	2013-12-07 14:32:04.000000000 +0100
---- src/version.c	2013-12-07 14:37:48.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     113,
-  /**/
-
--- 
-How To Keep A Healthy Level Of Insanity:
-15. Five days in advance, tell your friends you can't attend their
-    party because you're not in the mood.
-
- /// 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    ///
diff --git a/7.4.114 b/7.4.114
deleted file mode 100644
index 9b982f6..0000000
--- a/7.4.114
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.114
-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.114
-Problem:    New GNU make outputs messages about changing directory in another
-	    format.
-Solution:   Recognize the new format.
-Files:	    src/option.h
-
-
-*** ../vim-7.4.113/src/option.h	2013-11-06 05:26:08.000000000 +0100
---- src/option.h	2013-12-04 12:43:03.000000000 +0100
-***************
-*** 31,39 ****
-  #     define DFLT_EFM	"%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
-  #    else /* Unix, probably */
-  #     ifdef EBCDIC
-! #define DFLT_EFM	"%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     else
-! #define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     endif
-  #    endif
-  #   endif
---- 31,39 ----
-  #     define DFLT_EFM	"%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
-  #    else /* Unix, probably */
-  #     ifdef EBCDIC
-! #define DFLT_EFM	"%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     else
-! #define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     endif
-  #    endif
-  #   endif
-*** ../vim-7.4.113/src/version.c	2013-12-07 14:48:06.000000000 +0100
---- src/version.c	2013-12-11 12:22:19.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     114,
-  /**/
-
--- 
-Everyone has a photographic memory. Some don't have film.
-
- /// 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    ///
diff --git a/7.4.115 b/7.4.115
deleted file mode 100644
index 1d1a561..0000000
--- a/7.4.115
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.115
-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.115
-Problem:    When using Zsh expanding ~abc doesn't work when the result
-	    contains a space.
-Solution:   Off-by-one error in detecting the NUL. (Pavol Juhas)
-Files:	    src/os_unix.c
-
-
-*** ../vim-7.4.114/src/os_unix.c	2013-11-03 00:40:54.000000000 +0100
---- src/os_unix.c	2013-12-11 13:19:26.000000000 +0100
-***************
-*** 5990,5996 ****
-  	{
-  	    /* If there is a NUL, set did_find_nul, else set check_spaces */
-  	    buffer[len] = NUL;
-! 	    if (len && (int)STRLEN(buffer) < (int)len - 1)
-  		did_find_nul = TRUE;
-  	    else
-  		check_spaces = TRUE;
---- 5990,5996 ----
-  	{
-  	    /* If there is a NUL, set did_find_nul, else set check_spaces */
-  	    buffer[len] = NUL;
-! 	    if (len && (int)STRLEN(buffer) < (int)len)
-  		did_find_nul = TRUE;
-  	    else
-  		check_spaces = TRUE;
-*** ../vim-7.4.114/src/version.c	2013-12-11 12:22:54.000000000 +0100
---- src/version.c	2013-12-11 13:20:29.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     115,
-  /**/
-
--- 
-Change is inevitable, except from a vending machine.
-
- /// 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    ///
diff --git a/7.4.116 b/7.4.116
deleted file mode 100644
index f242f05..0000000
--- a/7.4.116
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.116
-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.116
-Problem:    When a mapping starts with a space, the typed space does not show
-	    up for 'showcmd'.
-Solution:   Show "<20>". (Brook Hong)
-Files:	    src/normal.c
-
-
-*** ../vim-7.4.115/src/normal.c	2013-11-28 19:27:18.000000000 +0100
---- src/normal.c	2013-12-07 14:30:29.000000000 +0100
-***************
-*** 4021,4026 ****
---- 4021,4028 ----
-  #endif
-  
-      p = transchar(c);
-+     if (*p == ' ')
-+ 	STRCPY(p, "<20>");
-      old_len = (int)STRLEN(showcmd_buf);
-      extra_len = (int)STRLEN(p);
-      overflow = old_len + extra_len - SHOWCMD_COLS;
-*** ../vim-7.4.115/src/version.c	2013-12-11 13:21:44.000000000 +0100
---- src/version.c	2013-12-11 14:16:58.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     116,
-  /**/
-
--- 
-Bumper sticker: Honk if you love peace and quiet.
-
- /// 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    ///
diff --git a/7.4.117 b/7.4.117
deleted file mode 100644
index 5fb0268..0000000
--- a/7.4.117
+++ /dev/null
@@ -1,263 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.117
-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.117
-Problem:    Can't build with Cygwin/MingW and Perl 5.18.
-Solution:   Add a linker argument for the Perl library. (Cesar Romani)
-	    Adjust CFLAGS and LIB. (Cesar Romani)
-	    Move including inline.h further down. (Ken Takata)
-Files:	    src/Make_cyg.mak, src/Make_ming.mak, src/if_perl.xs
-
-
-*** ../vim-7.4.116/src/Make_cyg.mak	2013-11-28 16:32:34.000000000 +0100
---- src/Make_cyg.mak	2013-12-11 14:59:12.000000000 +0100
-***************
-*** 1,6 ****
-  #
-  # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp.  Last Change: 2013 Nov 28
-  #
-  # Also read INSTALLpc.txt!
-  #
---- 1,6 ----
-  #
-  # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp.  Last Change: 2013 Dec 11
-  #
-  # Also read INSTALLpc.txt!
-  #
-***************
-*** 155,161 ****
-  ifeq (yes, $(DYNAMIC_PERL))
-  DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
-  else
-! EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib
-  endif
-  endif
-  
---- 155,161 ----
-  ifeq (yes, $(DYNAMIC_PERL))
-  DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
-  else
-! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER)
-  endif
-  endif
-  
-*** ../vim-7.4.116/src/Make_ming.mak	2013-07-06 13:32:11.000000000 +0200
---- src/Make_ming.mak	2013-12-07 20:02:52.000000000 +0100
-***************
-*** 359,364 ****
---- 359,365 ----
-  
-  CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
-  WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
-+ EXTRA_LIBS =
-  
-  ifdef GETTEXT
-  DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
-***************
-*** 377,385 ****
-  endif
-  
-  ifdef PERL
-! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -L$(PERLLIBS)
-  ifeq (yes, $(DYNAMIC_PERL))
-  CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
-  endif
-  endif
-  
---- 378,387 ----
-  endif
-  
-  ifdef PERL
-! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL
-  ifeq (yes, $(DYNAMIC_PERL))
-  CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
-+ EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER)
-  endif
-  endif
-  
-***************
-*** 632,638 ****
-  
-  ifdef PERL
-  ifeq (no, $(DYNAMIC_PERL))
-! LIB += -lperl$(PERL_VER)
-  endif
-  endif
-  
---- 634,640 ----
-  
-  ifdef PERL
-  ifeq (no, $(DYNAMIC_PERL))
-! LIB += -L$(PERLLIBS) -lperl$(PERL_VER)
-  endif
-  endif
-  
-*** ../vim-7.4.116/src/if_perl.xs	2013-08-02 19:28:50.000000000 +0200
---- src/if_perl.xs	2013-12-11 15:02:58.000000000 +0100
-***************
-*** 14,20 ****
-  #define IN_PERL_FILE	/* don't include if_perl.pro from proto.h */
-  
-  /*
-!  * Currently 32-bit version of ActivePerl is built with VC6.
-   * (http://community.activestate.com/faq/windows-compilers-perl-modules)
-   * It means that time_t should be 32-bit. However the default size of
-   * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T.
---- 14,21 ----
-  #define IN_PERL_FILE	/* don't include if_perl.pro from proto.h */
-  
-  /*
-!  * Currently 32-bit version of ActivePerl is built with VC6 (or MinGW since
-!  * ActivePerl 5.18).
-   * (http://community.activestate.com/faq/windows-compilers-perl-modules)
-   * It means that time_t should be 32-bit. However the default size of
-   * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T.
-***************
-*** 23,28 ****
---- 24,45 ----
-  # define _USE_32BIT_TIME_T
-  #endif
-  
-+ /* Work around for perl-5.18.
-+  * Don't include "perl\lib\CORE\inline.h" for now,
-+  * include it after Perl_sv_free2 is defined. */
-+ #define PERL_NO_INLINE_FUNCTIONS
-+ 
-+ /*
-+  * Prevent including winsock.h.  perl.h tries to detect whether winsock.h is
-+  * already included before including winsock2.h, because winsock2.h isn't
-+  * compatible with winsock.h.  However the detection doesn't work with some
-+  * versions of MinGW.  If WIN32_LEAN_AND_MEAN is defined, windows.h will not
-+  * include winsock.h.
-+  */
-+ #ifdef WIN32
-+ # define WIN32_LEAN_AND_MEAN
-+ #endif
-+ 
-  #include "vim.h"
-  
-  #include <EXTERN.h>
-***************
-*** 81,90 ****
-  # define PERL5101_OR_LATER
-  #endif
-  
-- #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
-- # define PERL5180_OR_LATER
-- #endif
-- 
-  #ifndef pTHX
-  #    define pTHX void
-  #    define pTHX_
---- 98,103 ----
-***************
-*** 145,155 ****
-  # define perl_free dll_perl_free
-  # define Perl_get_context dll_Perl_get_context
-  # define Perl_croak dll_Perl_croak
-- # ifndef PERL5180_OR_LATER
-  # ifdef PERL5101_OR_LATER
-  #  define Perl_croak_xs_usage dll_Perl_croak_xs_usage
-  # endif
-- # endif
-  # ifndef PROTO
-  #  define Perl_croak_nocontext dll_Perl_croak_nocontext
-  #  define Perl_call_argv dll_Perl_call_argv
---- 158,166 ----
-***************
-*** 262,271 ****
-  static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
-  static void* (*Perl_get_context)(void);
-  static void (*Perl_croak)(pTHX_ const char*, ...);
-- #ifndef PERL5180_OR_LATER
-  #ifdef PERL5101_OR_LATER
-  static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
-! #endif
-  #endif
-  static void (*Perl_croak_nocontext)(const char*, ...);
-  static I32 (*Perl_dowantarray)(pTHX);
---- 273,285 ----
-  static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
-  static void* (*Perl_get_context)(void);
-  static void (*Perl_croak)(pTHX_ const char*, ...);
-  #ifdef PERL5101_OR_LATER
-+ /* Perl-5.18 has a different Perl_croak_xs_usage signature. */
-+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
-+ static void (*Perl_croak_xs_usage)(const CV *const, const char *const params);
-+ # else
-  static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
-! # endif
-  #endif
-  static void (*Perl_croak_nocontext)(const char*, ...);
-  static I32 (*Perl_dowantarray)(pTHX);
-***************
-*** 337,343 ****
---- 351,362 ----
-  static XPV** (*Perl_TXpv_ptr)(register PerlInterpreter*);
-  static STRLEN* (*Perl_Tna_ptr)(register PerlInterpreter*);
-  #else
-+ /* Perl-5.18 has a different Perl_sv_free2 signature. */
-+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
-+ static void (*Perl_sv_free2)(pTHX_ SV*, const U32);
-+ # else
-  static void (*Perl_sv_free2)(pTHX_ SV*);
-+ # endif
-  static void (*Perl_sys_init)(int* argc, char*** argv);
-  static void (*Perl_sys_term)(void);
-  static void (*Perl_call_list)(pTHX_ I32, AV*);
-***************
-*** 384,394 ****
-      {"perl_parse", (PERL_PROC*)&perl_parse},
-      {"Perl_get_context", (PERL_PROC*)&Perl_get_context},
-      {"Perl_croak", (PERL_PROC*)&Perl_croak},
-- #ifndef PERL5180_OR_LATER
-  #ifdef PERL5101_OR_LATER
-      {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
-  #endif
-- #endif
-      {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
-      {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray},
-      {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps},
---- 403,411 ----
-***************
-*** 492,497 ****
---- 509,522 ----
-      {"", NULL},
-  };
-  
-+ /* Work around for perl-5.18.
-+  * The definitions of S_SvREFCNT_inc and S_SvREFCNT_dec are needed, so include
-+  * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined.
-+  * The linker won't complain about undefined __impl_Perl_sv_free2. */
-+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
-+ # include <inline.h>
-+ #endif
-+ 
-  /*
-   * Make all runtime-links of perl.
-   *
-*** ../vim-7.4.116/src/version.c	2013-12-11 14:54:58.000000000 +0100
---- src/version.c	2013-12-11 15:00:12.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     117,
-  /**/
-
--- 
-Despite the cost of living, have you noticed how it remains so popular?
-
- /// 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    ///
diff --git a/7.4.118 b/7.4.118
deleted file mode 100644
index 04701cc..0000000
--- a/7.4.118
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.118
-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.118
-Problem:    It's possible that redrawing the status lines causes
-	    win_redr_custom() to be called recursively.
-Solution:   Protect against recursiveness. (Yasuhiro Matsumoto)
-Files:	    src/screen.c
-
-
-*** ../vim-7.4.117/src/screen.c	2013-11-08 04:30:06.000000000 +0100
---- src/screen.c	2013-12-11 15:32:21.000000000 +0100
-***************
-*** 6653,6658 ****
---- 6653,6659 ----
-      win_T	*wp;
-      int		draw_ruler;	/* TRUE or FALSE */
-  {
-+     static int	entered = FALSE;
-      int		attr;
-      int		curattr;
-      int		row;
-***************
-*** 6671,6676 ****
---- 6672,6684 ----
-      win_T	*ewp;
-      int		p_crb_save;
-  
-+     /* There is a tiny chance that this gets called recursively: When
-+      * redrawing a status line triggers redrawing the ruler or tabline.
-+      * Avoid trouble by not allowing recursion. */
-+     if (entered)
-+ 	return;
-+     entered = TRUE;
-+ 
-      /* setup environment for the task at hand */
-      if (wp == NULL)
-      {
-***************
-*** 6746,6752 ****
-      }
-  
-      if (maxwidth <= 0)
-! 	return;
-  
-      /* Temporarily reset 'cursorbind', we don't want a side effect from moving
-       * the cursor away and back. */
---- 6754,6760 ----
-      }
-  
-      if (maxwidth <= 0)
-! 	goto theend;
-  
-      /* Temporarily reset 'cursorbind', we don't want a side effect from moving
-       * the cursor away and back. */
-***************
-*** 6827,6832 ****
---- 6835,6843 ----
-  	while (col < Columns)
-  	    TabPageIdxs[col++] = fillchar;
-      }
-+ 
-+ theend:
-+     entered = FALSE;
-  }
-  
-  #endif /* FEAT_STL_OPT */
-*** ../vim-7.4.117/src/version.c	2013-12-11 15:06:36.000000000 +0100
---- src/version.c	2013-12-11 15:32:16.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     118,
-  /**/
-
--- 
-Nothing is fool-proof to a sufficiently talented fool.
-
- /// 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    ///
diff --git a/7.4.119 b/7.4.119
deleted file mode 100644
index 061b81a..0000000
--- a/7.4.119
+++ /dev/null
@@ -1,245 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.119
-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.119
-Problem:    Vim doesn't work well on OpenVMS.
-Solution:   Fix various problems. (Samuel Ferencik)
-Files:	    src/os_unix.c, src/os_unix.h, src/os_vms.c
-
-
-*** ../vim-7.4.118/src/os_unix.c	2013-12-11 13:21:44.000000000 +0100
---- src/os_unix.c	2013-12-11 16:16:03.000000000 +0100
-***************
-*** 168,174 ****
-  static pid_t wait4pid __ARGS((pid_t, waitstatus *));
-  
-  static int  WaitForChar __ARGS((long));
-! #if defined(__BEOS__)
-  int  RealWaitForChar __ARGS((int, long, int *));
-  #else
-  static int  RealWaitForChar __ARGS((int, long, int *));
---- 168,174 ----
-  static pid_t wait4pid __ARGS((pid_t, waitstatus *));
-  
-  static int  WaitForChar __ARGS((long));
-! #if defined(__BEOS__) || defined(VMS)
-  int  RealWaitForChar __ARGS((int, long, int *));
-  #else
-  static int  RealWaitForChar __ARGS((int, long, int *));
-***************
-*** 435,441 ****
-  	/* Process the queued netbeans messages. */
-  	netbeans_parse_messages();
-  #endif
-- #ifndef VMS  /* VMS: must try reading, WaitForChar() does nothing. */
-  	/*
-  	 * We want to be interrupted by the winch signal
-  	 * or by an event on the monitored file descriptors.
---- 435,440 ----
-***************
-*** 446,452 ****
-  		handle_resize();
-  	    return 0;
-  	}
-- #endif
-  
-  	/* If input was put directly in typeahead buffer bail out here. */
-  	if (typebuf_changed(tb_change_cnt))
---- 445,450 ----
-***************
-*** 5039,5044 ****
---- 5037,5043 ----
-      return avail;
-  }
-  
-+ #ifndef VMS
-  /*
-   * Wait "msec" msec until a character is available from file descriptor "fd".
-   * "msec" == 0 will check for characters once.
-***************
-*** 5338,5350 ****
-  	}
-  # endif
-  
-- # ifdef OLD_VMS
-- 	/* Old VMS as v6.2 and older have broken select(). It waits more than
-- 	 * required. Should not be used */
-- 	ret = 0;
-- # else
-  	ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
-- # endif
-  # ifdef EINTR
-  	if (ret == -1 && errno == EINTR)
-  	{
---- 5337,5343 ----
-***************
-*** 5466,5473 ****
-      return (ret > 0);
-  }
-  
-- #ifndef VMS
-- 
-  #ifndef NO_EXPANDPATH
-  /*
-   * Expand a path into all matching files and/or directories.  Handles "*",
---- 5459,5464 ----
-*** ../vim-7.4.118/src/os_unix.h	2013-06-12 20:09:44.000000000 +0200
---- src/os_unix.h	2013-12-11 16:16:03.000000000 +0100
-***************
-*** 225,230 ****
---- 225,232 ----
-  # include <starlet.h>
-  # include <socket.h>
-  # include <lib$routines.h>
-+ # include <libdef.h>
-+ # include <libdtdef.h>
-  
-  # ifdef FEAT_GUI_GTK
-  #  include "gui_gtk_vms.h"
-*** ../vim-7.4.118/src/os_vms.c	2010-06-26 06:03:31.000000000 +0200
---- src/os_vms.c	2013-12-11 17:10:24.000000000 +0100
-***************
-*** 11,16 ****
---- 11,33 ----
-  
-  #include	"vim.h"
-  
-+ /* define _generic_64 for use in time functions */
-+ #ifndef VAX
-+ #   include <gen64def.h>
-+ #else
-+ /* based on Alpha's gen64def.h; the file is absent on VAX */
-+ typedef struct _generic_64 {
-+ #   pragma __nomember_alignment
-+     __union  {                          /* You can treat me as...  */
-+ 	/* long long is not available on VAXen */
-+ 	/* unsigned __int64 gen64$q_quadword; ...a single 64-bit value, or */
-+ 
-+ 	unsigned int gen64$l_longword [2]; /* ...two 32-bit values, or */
-+ 	unsigned short int gen64$w_word [4]; /* ...four 16-bit values */
-+     } gen64$r_quad_overlay;
-+ } GENERIC_64;
-+ #endif
-+ 
-  typedef struct
-  {
-      char	class;
-***************
-*** 669,671 ****
---- 686,777 ----
-      }
-      return ;
-  }
-+ 
-+ struct typeahead_st {
-+     unsigned short numchars;
-+     unsigned char  firstchar;
-+     unsigned char  reserved0;
-+     unsigned long  reserved1;
-+ } typeahead;
-+ 
-+ /*
-+  * Wait "msec" msec until a character is available from file descriptor "fd".
-+  * "msec" == 0 will check for characters once.
-+  * "msec" == -1 will block until a character is available.
-+  */
-+     int
-+ RealWaitForChar(fd, msec, check_for_gpm)
-+     int		fd UNUSED; /* always read from iochan */
-+     long	msec;
-+     int		*check_for_gpm UNUSED;
-+ {
-+     int status;
-+     struct _generic_64 time_curr;
-+     struct _generic_64 time_diff;
-+     struct _generic_64 time_out;
-+     unsigned int convert_operation = LIB$K_DELTA_SECONDS_F;
-+     float sec = (float) msec / 1000;
-+ 
-+     /* make sure the iochan is set */
-+     if (!iochan)
-+ 	get_tty();
-+ 
-+     if (msec > 0) {
-+         /* time-out specified; convert it to absolute time */
-+ 
-+         /* get current time (number of 100ns ticks since the VMS Epoch) */
-+         status = sys$gettim(&time_curr);
-+         if (status != SS$_NORMAL)
-+             return 0; /* error */
-+ 
-+         /* construct the delta time */
-+         status = lib$cvtf_to_internal_time(
-+                 &convert_operation, &sec, &time_diff);
-+         if (status != LIB$_NORMAL)
-+             return 0; /* error */
-+ 
-+         /* add them up */
-+         status = lib$add_times(
-+                 &time_curr,
-+                 &time_diff,
-+                 &time_out);
-+         if (status != LIB$_NORMAL)
-+             return 0; /* error */
-+     }
-+ 
-+     while (TRUE) {
-+         /* select() */
-+         status = sys$qiow(0, iochan, IO$_SENSEMODE | IO$M_TYPEAHDCNT, iosb,
-+                 0, 0, &typeahead, 8, 0, 0, 0, 0);
-+ 	if (status != SS$_NORMAL || (iosb[0] & 0xFFFF) != SS$_NORMAL)
-+             return 0; /* error */
-+ 
-+         if (typeahead.numchars)
-+             return 1; /* ready to read */
-+ 
-+         /* there's nothing to read; what now? */
-+         if (msec == 0) {
-+             /* immediate time-out; return impatiently */
-+             return 0;
-+         }
-+         else if (msec < 0) {
-+             /* no time-out; wait on indefinitely */
-+             continue;
-+         }
-+         else {
-+             /* time-out needs to be checked */
-+             status = sys$gettim(&time_curr);
-+             if (status != SS$_NORMAL)
-+                 return 0; /* error */
-+ 
-+             status = lib$sub_times(
-+                     &time_out,
-+                     &time_curr,
-+                     &time_diff);
-+             if (status != LIB$_NORMAL)
-+                 return 0; /* error, incl. time_diff < 0 (i.e. time-out) */
-+ 
-+             /* otherwise wait some more */
-+         }
-+     }
-+ }
-*** ../vim-7.4.118/src/version.c	2013-12-11 15:51:54.000000000 +0100
---- src/version.c	2013-12-11 16:09:16.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     119,
-  /**/
-
--- 
-It is hard to understand how a cemetery raised its burial
-cost and blamed it on the cost of living.
-
- /// 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    ///
diff --git a/7.4.120 b/7.4.120
deleted file mode 100644
index 4f7a17a..0000000
--- a/7.4.120
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.120
-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.120 (after 7.4.117)
-Problem:    Can't build with Perl 5.18 on Linux. (Lcd 47)
-Solution:   Add #ifdef. (Ken Takata)
-Files:	    src/if_perl.xs
-
-
-*** ../vim-7.4.119/src/if_perl.xs	2013-12-11 15:06:36.000000000 +0100
---- src/if_perl.xs	2013-12-11 17:17:43.000000000 +0100
-***************
-*** 27,33 ****
-  /* Work around for perl-5.18.
-   * Don't include "perl\lib\CORE\inline.h" for now,
-   * include it after Perl_sv_free2 is defined. */
-! #define PERL_NO_INLINE_FUNCTIONS
-  
-  /*
-   * Prevent including winsock.h.  perl.h tries to detect whether winsock.h is
---- 27,35 ----
-  /* Work around for perl-5.18.
-   * Don't include "perl\lib\CORE\inline.h" for now,
-   * include it after Perl_sv_free2 is defined. */
-! #ifdef DYNAMIC_PERL
-! # define PERL_NO_INLINE_FUNCTIONS
-! #endif
-  
-  /*
-   * Prevent including winsock.h.  perl.h tries to detect whether winsock.h is
-*** ../vim-7.4.119/src/version.c	2013-12-11 17:12:32.000000000 +0100
---- src/version.c	2013-12-11 17:19:34.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     120,
-  /**/
-
--- 
-Just remember...if the world didn't suck, we'd all fall off.
-
- /// 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    ///
diff --git a/7.4.121 b/7.4.121
deleted file mode 100644
index 2e04890..0000000
--- a/7.4.121
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.121
-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.121
-Problem:    Completion doesn't work for ":py3d" and ":py3f". (Bohr Shaw)
-Solution:   Skip over letters after ":py3".
-Files:	    src/ex_docmd.c
-
-
-*** ../vim-7.4.120/src/ex_docmd.c	2013-11-21 14:21:25.000000000 +0100
---- src/ex_docmd.c	2013-12-11 17:41:50.000000000 +0100
-***************
-*** 3261,3267 ****
---- 3261,3271 ----
-  	    ++p;
-  	/* for python 3.x: ":py3*" commands completion */
-  	if (cmd[0] == 'p' && cmd[1] == 'y' && p == cmd + 2 && *p == '3')
-+ 	{
-  	    ++p;
-+ 	    while (ASCII_ISALPHA(*p) || *p == '*')
-+ 		++p;
-+ 	}
-  	len = (int)(p - cmd);
-  
-  	if (len == 0)
-*** ../vim-7.4.120/src/version.c	2013-12-11 17:20:14.000000000 +0100
---- src/version.c	2013-12-11 17:43:44.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     121,
-  /**/
-
--- 
-It was recently discovered that research causes cancer in rats.
-
- /// 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    ///
diff --git a/7.4.122 b/7.4.122
deleted file mode 100644
index 2e6e581..0000000
--- a/7.4.122
+++ /dev/null
@@ -1,215 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.122
-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.122
-Problem:    Win32: When 'encoding' is set to "utf-8" and the active codepage
-	    is cp932 then ":grep" and other commands don't work for multi-byte
-	    characters.
-Solution:   (Yasuhiro Matsumoto)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.121/src/os_win32.c	2013-12-07 14:48:06.000000000 +0100
---- src/os_win32.c	2013-12-11 17:57:48.000000000 +0100
-***************
-*** 3788,3793 ****
---- 3788,3837 ----
-  }
-  #endif /* FEAT_GUI_W32 */
-  
-+     static BOOL
-+ vim_create_process(
-+     const char		*cmd,
-+     DWORD		flags,
-+     BOOL		inherit_handles,
-+     STARTUPINFO		*si,
-+     PROCESS_INFORMATION *pi)
-+ {
-+ #  ifdef FEAT_MBYTE
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	WCHAR	*wcmd = enc_to_utf16(cmd, NULL);
-+ 
-+ 	if (wcmd != NULL)
-+ 	{
-+ 	    BOOL ret;
-+ 	    ret = CreateProcessW(
-+ 		NULL,			/* Executable name */
-+ 		wcmd,			/* Command to execute */
-+ 		NULL,			/* Process security attributes */
-+ 		NULL,			/* Thread security attributes */
-+ 		inherit_handles,	/* Inherit handles */
-+ 		flags,			/* Creation flags */
-+ 		NULL,			/* Environment */
-+ 		NULL,			/* Current directory */
-+ 		si,			/* Startup information */
-+ 		pi);			/* Process information */
-+ 	    vim_free(wcmd);
-+ 	    return ret;
-+ 	}
-+     }
-+ #endif
-+     return CreateProcess(
-+ 	NULL,			/* Executable name */
-+ 	cmd,			/* Command to execute */
-+ 	NULL,			/* Process security attributes */
-+ 	NULL,			/* Thread security attributes */
-+ 	inherit_handles,	/* Inherit handles */
-+ 	flags,			/* Creation flags */
-+ 	NULL,			/* Environment */
-+ 	NULL,			/* Current directory */
-+ 	si,			/* Startup information */
-+ 	pi);			/* Process information */
-+ }
-  
-  
-  #if defined(FEAT_GUI_W32) || defined(PROTO)
-***************
-*** 3834,3851 ****
-  	cmd += 3;
-  
-      /* Now, run the command */
-!     CreateProcess(NULL,			/* Executable name */
-! 		  cmd,			/* Command to execute */
-! 		  NULL,			/* Process security attributes */
-! 		  NULL,			/* Thread security attributes */
-! 		  FALSE,		/* Inherit handles */
-! 		  CREATE_DEFAULT_ERROR_MODE |	/* Creation flags */
-! 			CREATE_NEW_CONSOLE,
-! 		  NULL,			/* Environment */
-! 		  NULL,			/* Current directory */
-! 		  &si,			/* Startup information */
-! 		  &pi);			/* Process information */
-! 
-  
-      /* Wait for the command to terminate before continuing */
-      if (g_PlatformId != VER_PLATFORM_WIN32s)
---- 3878,3885 ----
-  	cmd += 3;
-  
-      /* Now, run the command */
-!     vim_create_process(cmd, FALSE,
-! 	    CREATE_DEFAULT_ERROR_MODE |	CREATE_NEW_CONSOLE, &si, &pi);
-  
-      /* Wait for the command to terminate before continuing */
-      if (g_PlatformId != VER_PLATFORM_WIN32s)
-***************
-*** 4177,4198 ****
-  	    p = cmd;
-      }
-  
-!     /* Now, run the command */
-!     CreateProcess(NULL,			/* Executable name */
-! 		  p,			/* Command to execute */
-! 		  NULL,			/* Process security attributes */
-! 		  NULL,			/* Thread security attributes */
-! 
-! 		  // this command can be litigious, handle inheritance was
-! 		  // deactivated for pending temp file, but, if we deactivate
-! 		  // it, the pipes don't work for some reason.
-! 		  TRUE,			/* Inherit handles, first deactivated,
-! 					 * but needed */
-! 		  CREATE_DEFAULT_ERROR_MODE, /* Creation flags */
-! 		  NULL,			/* Environment */
-! 		  NULL,			/* Current directory */
-! 		  &si,			/* Startup information */
-! 		  &pi);			/* Process information */
-  
-      if (p != cmd)
-  	vim_free(p);
---- 4211,4221 ----
-  	    p = cmd;
-      }
-  
-!     /* Now, run the command.
-!      * About "Inherit handles" being TRUE: this command can be litigious,
-!      * handle inheritance was deactivated for pending temp file, but, if we
-!      * deactivate it, the pipes don't work for some reason. */
-!      vim_create_process(p, TRUE, CREATE_DEFAULT_ERROR_MODE, &si, &pi);
-  
-      if (p != cmd)
-  	vim_free(p);
-***************
-*** 4410,4416 ****
-  }
-  #else
-  
-! # define mch_system(c, o) system(c)
-  
-  #endif
-  
---- 4433,4457 ----
-  }
-  #else
-  
-! # ifdef FEAT_MBYTE
-!     static int
-! mch_system(char *cmd, int options)
-! {
-!     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-!     {
-! 	WCHAR	*wcmd = enc_to_utf16(cmd, NULL);
-! 	if (wcmd != NULL)
-! 	{
-! 	    int ret = _wsystem(wcmd);
-! 	    vim_free(wcmd);
-! 	    return ret;
-! 	}
-!     }
-!     return system(cmd);
-! }
-! # else
-! #  define mch_system(c, o) system(c)
-! # endif
-  
-  #endif
-  
-***************
-*** 4578,4593 ****
-  	     * inherit our handles which causes unpleasant dangling swap
-  	     * files if we exit before the spawned process
-  	     */
-! 	    if (CreateProcess(NULL,		// Executable name
-! 		    newcmd,			// Command to execute
-! 		    NULL,			// Process security attributes
-! 		    NULL,			// Thread security attributes
-! 		    FALSE,			// Inherit handles
-! 		    flags,			// Creation flags
-! 		    NULL,			// Environment
-! 		    NULL,			// Current directory
-! 		    &si,			// Startup information
-! 		    &pi))			// Process information
-  		x = 0;
-  	    else
-  	    {
---- 4619,4625 ----
-  	     * inherit our handles which causes unpleasant dangling swap
-  	     * files if we exit before the spawned process
-  	     */
-! 	    if (vim_create_process(newcmd, FALSE, flags, &si, &pi))
-  		x = 0;
-  	    else
-  	    {
-*** ../vim-7.4.121/src/version.c	2013-12-11 17:44:33.000000000 +0100
---- src/version.c	2013-12-11 17:48:09.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     122,
-  /**/
-
--- 
-Never overestimate a man's ability to underestimate a woman.
-
- /// 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    ///
diff --git a/7.4.123 b/7.4.123
deleted file mode 100644
index b564fe4..0000000
--- a/7.4.123
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.123
-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.123
-Problem:    Win32: Getting user name does not use wide function.
-Solution:   Use GetUserNameW() if possible. (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.122/src/os_win32.c	2013-12-11 17:58:29.000000000 +0100
---- src/os_win32.c	2013-12-11 18:14:29.000000000 +0100
-***************
-*** 2768,2773 ****
---- 2768,2793 ----
-      char szUserName[256 + 1];	/* UNLEN is 256 */
-      DWORD cch = sizeof szUserName;
-  
-+ #ifdef FEAT_MBYTE
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	WCHAR wszUserName[256 + 1];	/* UNLEN is 256 */
-+ 	DWORD wcch = sizeof(wszUserName) / sizeof(WCHAR);
-+ 
-+ 	if (GetUserNameW(wszUserName, &wcch))
-+ 	{
-+ 	    char_u  *p = utf16_to_enc(wszUserName, NULL);
-+ 
-+ 	    if (p != NULL)
-+ 	    {
-+ 		vim_strncpy(s, p, len - 1);
-+ 		vim_free(p);
-+ 		return OK;
-+ 	    }
-+ 	}
-+ 	/* Retry with non-wide function (for Windows 98). */
-+     }
-+ #endif
-      if (GetUserName(szUserName, &cch))
-      {
-  	vim_strncpy(s, szUserName, len - 1);
-*** ../vim-7.4.122/src/version.c	2013-12-11 17:58:29.000000000 +0100
---- src/version.c	2013-12-11 18:15:48.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     123,
-  /**/
-
--- 
-Everybody lies, but it doesn't matter since nobody listens.
-                                -- Lieberman's Law
-
- /// 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    ///
diff --git a/7.4.124 b/7.4.124
deleted file mode 100644
index 7815bf5..0000000
--- a/7.4.124
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.124
-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.124
-Problem:    Win32: Getting host name does not use wide function.
-Solution:   Use GetComputerNameW() if possible. (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.123/src/os_win32.c	2013-12-11 18:18:01.000000000 +0100
---- src/os_win32.c	2013-12-11 18:19:11.000000000 +0100
-***************
-*** 2808,2813 ****
---- 2808,2833 ----
-  {
-      DWORD cch = len;
-  
-+ #ifdef FEAT_MBYTE
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	WCHAR wszHostName[256 + 1];
-+ 	DWORD wcch = sizeof(wszHostName) / sizeof(WCHAR);
-+ 
-+ 	if (GetComputerNameW(wszHostName, &wcch))
-+ 	{
-+ 	    char_u  *p = utf16_to_enc(wszHostName, NULL);
-+ 
-+ 	    if (p != NULL)
-+ 	    {
-+ 		vim_strncpy(s, p, len - 1);
-+ 		vim_free(p);
-+ 		return;
-+ 	    }
-+ 	}
-+ 	/* Retry with non-wide function (for Windows 98). */
-+     }
-+ #endif
-      if (!GetComputerName(s, &cch))
-  	vim_strncpy(s, "PC (Win32 Vim)", len - 1);
-  }
-*** ../vim-7.4.123/src/version.c	2013-12-11 18:18:01.000000000 +0100
---- src/version.c	2013-12-11 18:20:03.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     124,
-  /**/
-
--- 
-Don't read everything you believe.
-
- /// 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    ///
diff --git a/7.4.125 b/7.4.125
deleted file mode 100644
index 04a0fe9..0000000
--- a/7.4.125
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.125
-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.125
-Problem:    Win32: Dealing with messages may not work for multi-byte chars.
-Solution:   Use pDispatchMessage(). (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.124/src/os_win32.c	2013-12-11 18:21:41.000000000 +0100
---- src/os_win32.c	2013-12-11 18:23:47.000000000 +0100
-***************
-*** 4282,4291 ****
-      {
-  	MSG	msg;
-  
-! 	if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
-  	{
-  	    TranslateMessage(&msg);
-! 	    DispatchMessage(&msg);
-  	}
-  
-  	/* write pipe information in the window */
---- 4282,4291 ----
-      {
-  	MSG	msg;
-  
-! 	if (pPeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
-  	{
-  	    TranslateMessage(&msg);
-! 	    pDispatchMessage(&msg);
-  	}
-  
-  	/* write pipe information in the window */
-*** ../vim-7.4.124/src/version.c	2013-12-11 18:21:41.000000000 +0100
---- src/version.c	2013-12-11 18:35:44.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     125,
-  /**/
-
--- 
-Don't believe everything you hear or anything you say.
-
- /// 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    ///
diff --git a/7.4.126 b/7.4.126
deleted file mode 100644
index c7acae7..0000000
--- a/7.4.126
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.126
-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.126
-Problem:    Compiler warnings for "const" and incompatible types.
-Solution:   Remove "const", add type cast. (Ken Takata)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.125/src/os_win32.c	2013-12-11 18:36:28.000000000 +0100
---- src/os_win32.c	2013-12-12 20:19:39.000000000 +0100
-***************
-*** 3830,3836 ****
-  
-      static BOOL
-  vim_create_process(
-!     const char		*cmd,
-      DWORD		flags,
-      BOOL		inherit_handles,
-      STARTUPINFO		*si,
---- 3830,3836 ----
-  
-      static BOOL
-  vim_create_process(
-!     char		*cmd,
-      DWORD		flags,
-      BOOL		inherit_handles,
-      STARTUPINFO		*si,
-***************
-*** 3853,3859 ****
-  		flags,			/* Creation flags */
-  		NULL,			/* Environment */
-  		NULL,			/* Current directory */
-! 		si,			/* Startup information */
-  		pi);			/* Process information */
-  	    vim_free(wcmd);
-  	    return ret;
---- 3853,3859 ----
-  		flags,			/* Creation flags */
-  		NULL,			/* Environment */
-  		NULL,			/* Current directory */
-! 		(LPSTARTUPINFOW)si,	/* Startup information */
-  		pi);			/* Process information */
-  	    vim_free(wcmd);
-  	    return ret;
-*** ../vim-7.4.125/src/version.c	2013-12-11 18:36:28.000000000 +0100
---- src/version.c	2013-12-12 20:21:27.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     126,
-  /**/
-
--- 
-Microsoft is to software what McDonalds is to gourmet cooking
-
- /// 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    ///
diff --git a/7.4.127 b/7.4.127
deleted file mode 100644
index 71ce694..0000000
--- a/7.4.127
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.127
-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.127
-Problem:    Perl 5.18 on Unix doesn't work.
-Solution:   Move workaround to after including vim.h. (Ken Takata)
-Files:      src/if_perl.xs
-
-
-*** ../vim-7.4.126/src/if_perl.xs	2013-12-11 17:20:14.000000000 +0100
---- src/if_perl.xs	2013-12-14 11:41:56.000000000 +0100
-***************
-*** 24,36 ****
-  # define _USE_32BIT_TIME_T
-  #endif
-  
-- /* Work around for perl-5.18.
--  * Don't include "perl\lib\CORE\inline.h" for now,
--  * include it after Perl_sv_free2 is defined. */
-- #ifdef DYNAMIC_PERL
-- # define PERL_NO_INLINE_FUNCTIONS
-- #endif
-- 
-  /*
-   * Prevent including winsock.h.  perl.h tries to detect whether winsock.h is
-   * already included before including winsock2.h, because winsock2.h isn't
---- 24,29 ----
-***************
-*** 44,49 ****
---- 37,49 ----
-  
-  #include "vim.h"
-  
-+ /* Work around for perl-5.18.
-+  * Don't include "perl\lib\CORE\inline.h" for now,
-+  * include it after Perl_sv_free2 is defined. */
-+ #ifdef DYNAMIC_PERL
-+ # define PERL_NO_INLINE_FUNCTIONS
-+ #endif
-+ 
-  #include <EXTERN.h>
-  #include <perl.h>
-  #include <XSUB.h>
-*** ../vim-7.4.126/src/version.c	2013-12-12 20:25:39.000000000 +0100
---- src/version.c	2013-12-14 11:43:54.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     127,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-54. You start tilting your head sideways to smile. :-)
-
- /// 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    ///
diff --git a/7.4.128 b/7.4.128
deleted file mode 100644
index ead1b67..0000000
--- a/7.4.128
+++ /dev/null
@@ -1,66 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.128
-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.128
-Problem:    Perl 5.18 for MSVC doesn't work.
-Solution:   Add check in makefile and define __inline. (Ken Takata)
-Files:	    src/Make_mvc.mak, src/if_perl.xs
-
-
-*** ../vim-7.4.127/src/Make_mvc.mak	2013-11-09 02:32:15.000000000 +0100
---- src/Make_mvc.mak	2013-12-14 11:47:37.000000000 +0100
-***************
-*** 825,831 ****
---- 825,836 ----
-  PERL_LIB = $(PERL_INCDIR)\perl.lib
-  !else
-  PERL_DLL = perl$(PERL_VER).dll
-+ !if exist($(PERL_INCDIR)\perl$(PERL_VER).lib)
-  PERL_LIB = $(PERL_INCDIR)\perl$(PERL_VER).lib
-+ !else
-+ # For ActivePerl 5.18 and later
-+ PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a
-+ !endif
-  !endif
-  
-  CFLAGS = $(CFLAGS) -DFEAT_PERL
-*** ../vim-7.4.127/src/if_perl.xs	2013-12-14 11:46:04.000000000 +0100
---- src/if_perl.xs	2013-12-14 11:47:37.000000000 +0100
-***************
-*** 44,49 ****
---- 44,54 ----
-  # define PERL_NO_INLINE_FUNCTIONS
-  #endif
-  
-+ /* Work around for using MSVC and ActivePerl 5.18. */
-+ #ifdef _MSC_VER
-+ # define __inline__ __inline
-+ #endif
-+ 
-  #include <EXTERN.h>
-  #include <perl.h>
-  #include <XSUB.h>
-*** ../vim-7.4.127/src/version.c	2013-12-14 11:46:04.000000000 +0100
---- src/version.c	2013-12-14 11:48:51.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     128,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-55. You ask your doctor to implant a gig in your brain.
-
- /// 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    ///
diff --git a/7.4.129 b/7.4.129
deleted file mode 100644
index efe9a1c..0000000
--- a/7.4.129
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.129
-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.129
-Problem:    getline(-1) returns zero. (mvxxc)
-Solution:   Return an empty string.
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.128/src/eval.c	2013-11-11 04:25:48.000000000 +0100
---- src/eval.c	2013-12-14 12:11:27.000000000 +0100
-***************
-*** 11119,11124 ****
---- 11119,11126 ----
-  {
-      char_u	*p;
-  
-+     rettv->v_type = VAR_STRING;
-+     rettv->vval.v_string = NULL;
-      if (retlist && rettv_list_alloc(rettv) == FAIL)
-  	return;
-  
-***************
-*** 11131,11138 ****
-  	    p = ml_get_buf(buf, start, FALSE);
-  	else
-  	    p = (char_u *)"";
-- 
-- 	rettv->v_type = VAR_STRING;
-  	rettv->vval.v_string = vim_strsave(p);
-      }
-      else
---- 11133,11138 ----
-*** ../vim-7.4.128/src/version.c	2013-12-14 11:50:28.000000000 +0100
---- src/version.c	2013-12-14 12:13:32.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     129,
-  /**/
-
--- 
-Keyboard not found.  Think ENTER to continue.
-
- /// 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    ///
diff --git a/7.4.130 b/7.4.130
deleted file mode 100644
index 864d82c..0000000
--- a/7.4.130
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.130
-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.130
-Problem:    Relative line numbers mix up windows when using folds.
-Solution:   Use hasFoldingWin() instead of hasFolding(). (Lech Lorens)
-Files:	    src/misc2.c
-
-
-*** ../vim-7.4.129/src/misc2.c	2013-09-08 16:07:03.000000000 +0200
---- src/misc2.c	2013-12-14 12:43:35.000000000 +0100
-***************
-*** 487,493 ****
-  	{
-  	    while (lnum > cursor)
-  	    {
-! 		(void)hasFolding(lnum, &lnum, NULL);
-  		/* if lnum and cursor are in the same fold,
-  		 * now lnum <= cursor */
-  		if (lnum > cursor)
---- 487,493 ----
-  	{
-  	    while (lnum > cursor)
-  	    {
-! 		(void)hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL);
-  		/* if lnum and cursor are in the same fold,
-  		 * now lnum <= cursor */
-  		if (lnum > cursor)
-***************
-*** 499,505 ****
-  	{
-  	    while (lnum < cursor)
-  	    {
-! 		(void)hasFolding(lnum, NULL, &lnum);
-  		/* if lnum and cursor are in the same fold,
-  		 * now lnum >= cursor */
-  		if (lnum < cursor)
---- 499,505 ----
-  	{
-  	    while (lnum < cursor)
-  	    {
-! 		(void)hasFoldingWin(wp, lnum, NULL, &lnum, TRUE, NULL);
-  		/* if lnum and cursor are in the same fold,
-  		 * now lnum >= cursor */
-  		if (lnum < cursor)
-*** ../vim-7.4.129/src/version.c	2013-12-14 12:17:34.000000000 +0100
---- src/version.c	2013-12-14 12:44:27.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     130,
-  /**/
-
--- 
-Over the years, I've developed my sense of deja vu so acutely that now
-I can remember things that *have* happened before ...
-
- /// 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    ///
diff --git a/7.4.131 b/7.4.131
deleted file mode 100644
index ec04b85..0000000
--- a/7.4.131
+++ /dev/null
@@ -1,113 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.131
-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.131
-Problem:    Syncbind causes E315 errors in some situations. (Liang Li)
-Solution:   Set and restore curbuf in ex_syncbind(). (Christian Brabandt)
-Files:	    src/ex_docmd.c, src/testdir/test37.ok
-
-
-*** ../vim-7.4.130/src/ex_docmd.c	2013-12-11 17:44:33.000000000 +0100
---- src/ex_docmd.c	2013-12-14 12:55:05.000000000 +0100
-***************
-*** 8054,8059 ****
---- 8054,8061 ----
-  {
-  #ifdef FEAT_SCROLLBIND
-      win_T	*wp;
-+     win_T	*save_curwin = curwin;
-+     buf_T	*save_curbuf = curbuf;
-      long	topline;
-      long	y;
-      linenr_T	old_linenr = curwin->w_cursor.lnum;
-***************
-*** 8085,8097 ****
-  
-  
-      /*
-!      * set all scrollbind windows to the same topline
-       */
--     wp = curwin;
-      for (curwin = firstwin; curwin; curwin = curwin->w_next)
-      {
-  	if (curwin->w_p_scb)
-  	{
-  	    y = topline - curwin->w_topline;
-  	    if (y > 0)
-  		scrollup(y, TRUE);
---- 8087,8099 ----
-  
-  
-      /*
-!      * Set all scrollbind windows to the same topline.
-       */
-      for (curwin = firstwin; curwin; curwin = curwin->w_next)
-      {
-  	if (curwin->w_p_scb)
-  	{
-+ 	    curbuf = curwin->w_buffer;
-  	    y = topline - curwin->w_topline;
-  	    if (y > 0)
-  		scrollup(y, TRUE);
-***************
-*** 8105,8111 ****
-  #endif
-  	}
-      }
-!     curwin = wp;
-      if (curwin->w_p_scb)
-      {
-  	did_syncbind = TRUE;
---- 8107,8114 ----
-  #endif
-  	}
-      }
-!     curwin = save_curwin;
-!     curbuf = save_curbuf;
-      if (curwin->w_p_scb)
-      {
-  	did_syncbind = TRUE;
-*** ../vim-7.4.130/src/testdir/test37.ok	2010-05-15 13:04:10.000000000 +0200
---- src/testdir/test37.ok	2013-12-14 12:54:57.000000000 +0100
-***************
-*** 27,33 ****
-  
-  . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
-  :set scrollbind
-- zt:
-- . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
-  :set scrollbind
-! . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
---- 27,33 ----
-  
-  . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
-  :set scrollbind
-  :set scrollbind
-! . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
-! j:
-! . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
-*** ../vim-7.4.130/src/version.c	2013-12-14 12:48:55.000000000 +0100
---- src/version.c	2013-12-14 13:03:51.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     131,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-57. You begin to wonder how on earth your service provider is allowed to call
-    200 hours per month "unlimited."
-
- /// 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    ///
diff --git a/7.4.132 b/7.4.132
deleted file mode 100644
index 73d7281..0000000
--- a/7.4.132
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.132
-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.132 (after 7.4.122)
-Problem:    Win32: flags and inherit_handles arguments mixed up.
-Solution:   Swap the argument. (cs86661)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.131/src/os_win32.c	2013-12-12 20:25:39.000000000 +0100
---- src/os_win32.c	2014-01-05 13:24:15.000000000 +0100
-***************
-*** 3831,3838 ****
-      static BOOL
-  vim_create_process(
-      char		*cmd,
--     DWORD		flags,
-      BOOL		inherit_handles,
-      STARTUPINFO		*si,
-      PROCESS_INFORMATION *pi)
-  {
---- 3831,3838 ----
-      static BOOL
-  vim_create_process(
-      char		*cmd,
-      BOOL		inherit_handles,
-+     DWORD		flags,
-      STARTUPINFO		*si,
-      PROCESS_INFORMATION *pi)
-  {
-*** ../vim-7.4.131/src/version.c	2013-12-14 13:06:13.000000000 +0100
---- src/version.c	2014-01-05 13:27:25.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     132,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-93. New mail alarm on your palmtop annoys other churchgoers.
-
- /// 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    ///
diff --git a/7.4.133 b/7.4.133
deleted file mode 100644
index 7c4bdfa..0000000
--- a/7.4.133
+++ /dev/null
@@ -1,74 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.133
-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.133
-Problem:    Clang warns for using NUL.
-Solution:   Change NUL to NULL. (Dominique Pelle)
-Files:	    src/eval.c, src/misc2.c
-
-
-*** ../vim-7.4.132/src/eval.c	2013-12-14 12:17:34.000000000 +0100
---- src/eval.c	2014-01-06 06:11:50.000000000 +0100
-***************
-*** 14141,14148 ****
-  	    }
-  	    else
-  	    {
-! 		list_append_string(rettv->vval.v_list, NUL, -1);
-! 		list_append_string(rettv->vval.v_list, NUL, -1);
-  	    }
-  	}
-  #endif
---- 14141,14148 ----
-  	    }
-  	    else
-  	    {
-! 		list_append_string(rettv->vval.v_list, NULL, -1);
-! 		list_append_string(rettv->vval.v_list, NULL, -1);
-  	    }
-  	}
-  #endif
-*** ../vim-7.4.132/src/misc2.c	2013-12-14 12:48:55.000000000 +0100
---- src/misc2.c	2014-01-06 06:11:50.000000000 +0100
-***************
-*** 4695,4702 ****
-  	else
-  	{
-  	    char_u *p =  gettail(search_ctx->ffsc_fix_path);
-! 	    char_u *wc_path = NUL;
-! 	    char_u *temp = NUL;
-  	    int    len = 0;
-  
-  	    if (p > search_ctx->ffsc_fix_path)
---- 4695,4702 ----
-  	else
-  	{
-  	    char_u *p =  gettail(search_ctx->ffsc_fix_path);
-! 	    char_u *wc_path = NULL;
-! 	    char_u *temp = NULL;
-  	    int    len = 0;
-  
-  	    if (p > search_ctx->ffsc_fix_path)
-*** ../vim-7.4.132/src/version.c	2014-01-06 06:16:55.000000000 +0100
---- src/version.c	2014-01-06 06:13:26.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     133,
-  /**/
-
--- 
-A meeting is an event at which the minutes are kept and the hours are lost.
-
- /// 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    ///
diff --git a/7.4.134 b/7.4.134
deleted file mode 100644
index d8f47c5..0000000
--- a/7.4.134
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.134
-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.134
-Problem:    Spurious space in MingW Makefile.
-Solution:   Remove the space. (Michael Soyka)
-Files:	    src/Make_ming.mak
-
-
-*** ../vim-7.4.133/src/Make_ming.mak	2013-12-11 15:06:36.000000000 +0100
---- src/Make_ming.mak	2014-01-06 15:37:57.000000000 +0100
-***************
-*** 598,604 ****
-  ifeq (yes, $(GUI))
-  OBJ += $(OUTDIR)/xpm_w32.o
-  # You'll need libXpm.a from http://gnuwin32.sf.net
-! LIB += -L $(XPM)/lib -lXpm
-  endif
-  endif
-  
---- 598,604 ----
-  ifeq (yes, $(GUI))
-  OBJ += $(OUTDIR)/xpm_w32.o
-  # You'll need libXpm.a from http://gnuwin32.sf.net
-! LIB += -L$(XPM)/lib -lXpm
-  endif
-  endif
-  
-*** ../vim-7.4.133/src/version.c	2014-01-06 06:18:44.000000000 +0100
---- src/version.c	2014-01-06 15:39:32.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     134,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-115. You are late picking up your kid from school and try to explain
-     to the teacher you were stuck in Web traffic.
-
- /// 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    ///
diff --git a/7.4.135 b/7.4.135
deleted file mode 100644
index 4f11071..0000000
--- a/7.4.135
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.135
-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.135
-Problem:    Missing dot in MingW test Makefile.
-Solution:   Add the dot. (Michael Soyka)
-Files:	    src/testdir/Make_ming.mak
-
-
-*** ../vim-7.4.134/src/testdir/Make_ming.mak	2013-11-21 14:21:25.000000000 +0100
---- src/testdir/Make_ming.mak	2014-01-06 15:41:27.000000000 +0100
-***************
-*** 53,59 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		test89.out test90.out test91.out test92.out test93.out \
-  		test94.out test95.out test96.out test98.out test99.out \
-! 		test100out test101.out test102.out test103.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 53,59 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.134/src/version.c	2014-01-06 15:44:59.000000000 +0100
---- src/version.c	2014-01-06 15:47:14.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     135,
-  /**/
-
--- 
-Two percent of zero is almost nothing.
-
- /// 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    ///
diff --git a/7.4.136 b/7.4.136
deleted file mode 100644
index 2097680..0000000
--- a/7.4.136
+++ /dev/null
@@ -1,75 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.136
-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.136 (after 7.4.096)
-Problem:    MS-Windows: When saving a file with a UNC path the file becomes
-	    read-only.
-Solution:   Don't mix up Win32 attributes and Unix attributes. (Ken Takata)
-Files:	    src/os_mswin.c, src/os_win32.c
-
-
-*** ../vim-7.4.135/src/os_mswin.c	2013-09-29 19:05:17.000000000 +0200
---- src/os_mswin.c	2014-01-10 13:03:19.000000000 +0100
-***************
-*** 617,624 ****
---- 617,638 ----
-      p = buf + strlen(buf);
-      if (p > buf)
-  	mb_ptr_back(buf, p);
-+ 
-+     /* Remove trailing '\\' except root path. */
-      if (p > buf && (*p == '\\' || *p == '/') && p[-1] != ':')
-  	*p = NUL;
-+ 
-+     if ((buf[0] == '\\' && buf[1] == '\\') || (buf[0] == '/' && buf[1] == '/'))
-+     {
-+ 	/* UNC root path must be followed by '\\'. */
-+ 	p = vim_strpbrk(buf + 2, "\\/");
-+ 	if (p != NULL)
-+ 	{
-+ 	    p = vim_strpbrk(p + 1, "\\/");
-+ 	    if (p == NULL)
-+ 		STRCAT(buf, "\\");
-+ 	}
-+     }
-  #ifdef FEAT_MBYTE
-      if (enc_codepage >= 0 && (int)GetACP() != enc_codepage
-  # ifdef __BORLANDC__
-*** ../vim-7.4.135/src/os_win32.c	2014-01-05 13:29:16.000000000 +0100
---- src/os_win32.c	2014-01-10 12:59:32.000000000 +0100
-***************
-*** 2890,2898 ****
-      struct stat st;
-      int		n;
-  
--     if (name[0] == '\\' && name[1] == '\\')
-- 	/* UNC path */
-- 	return (long)win32_getattrs(name);
-      n = mch_stat(name, &st);
-      return n == 0 ? (long)st.st_mode : -1L;
-  }
---- 2890,2895 ----
-*** ../vim-7.4.135/src/version.c	2014-01-06 15:51:46.000000000 +0100
---- src/version.c	2014-01-10 13:04:43.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     136,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-128. You can access the Net -- via your portable and cellular phone.
-
- /// 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    ///
diff --git a/7.4.137 b/7.4.137
deleted file mode 100644
index 4e685c1..0000000
--- a/7.4.137
+++ /dev/null
@@ -1,239 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.137
-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.137
-Problem:    Cannot use IME with Windows 8 console.
-Solution:   Change the user of ReadConsoleInput() and PeekConsoleInput().
-	    (Nobuhiro Takasaki)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.136/src/os_win32.c	2014-01-10 13:05:12.000000000 +0100
---- src/os_win32.c	2014-01-10 13:42:19.000000000 +0100
-***************
-*** 232,237 ****
---- 232,306 ----
-  
-  static char_u *exe_path = NULL;
-  
-+ /*
-+  * Version of ReadConsoleInput() that works with IME.
-+  */
-+     static BOOL
-+ read_console_input(
-+     HANDLE hConsoleInput,
-+     PINPUT_RECORD lpBuffer,
-+     DWORD nLength,
-+     LPDWORD lpNumberOfEventsRead)
-+ {
-+     enum
-+     {
-+ 	IRSIZE = 10, /* rough value */
-+     };
-+     static INPUT_RECORD irCache[IRSIZE];
-+     static DWORD s_dwIndex = 0;
-+     static DWORD s_dwMax = 0;
-+ 
-+     if (hConsoleInput == NULL || lpBuffer == NULL)
-+ 	return ReadConsoleInput(hConsoleInput, lpBuffer, nLength,
-+ 							lpNumberOfEventsRead);
-+ 
-+     if (nLength == -1)
-+     {
-+ 	if (s_dwMax == 0)
-+ 	{
-+ 	    PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead);
-+ 	    if (*lpNumberOfEventsRead == 0)
-+ 		return FALSE;
-+ 	    ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
-+ 	    s_dwIndex = 0;
-+ 	}
-+ 	((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
-+ 	*lpNumberOfEventsRead = 1;
-+ 	return TRUE;
-+     }
-+ 
-+     if (s_dwMax == 0)
-+     {
-+ 	ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
-+ 	s_dwIndex = 0;
-+ 	if (s_dwMax == 0)
-+ 	{
-+ 	    *lpNumberOfEventsRead = 0;
-+ 	    return FALSE;
-+ 	}
-+     }
-+ 
-+     ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
-+     if (++s_dwIndex == s_dwMax)
-+ 	s_dwMax = 0;
-+     *lpNumberOfEventsRead = 1;
-+     return TRUE;
-+ }
-+ 
-+ /*
-+  * Version of PeekConsoleInput() that works with IME.
-+  */
-+     static BOOL
-+ peek_console_input(
-+     HANDLE hConsoleInput,
-+     PINPUT_RECORD lpBuffer,
-+     DWORD nLength,
-+     LPDWORD lpNumberOfEventsRead)
-+ {
-+     return read_console_input(hConsoleInput, lpBuffer, -1,
-+ 							lpNumberOfEventsRead);
-+ }
-+ 
-      static void
-  get_exe_name(void)
-  {
-***************
-*** 1117,1123 ****
-  			INPUT_RECORD ir;
-  			MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent;
-  
-! 			PeekConsoleInput(g_hConIn, &ir, 1, &cRecords);
-  
-  			if (cRecords == 0 || ir.EventType != MOUSE_EVENT
-  				|| !(pmer2->dwButtonState & LEFT_RIGHT))
---- 1186,1192 ----
-  			INPUT_RECORD ir;
-  			MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent;
-  
-! 			peek_console_input(g_hConIn, &ir, 1, &cRecords);
-  
-  			if (cRecords == 0 || ir.EventType != MOUSE_EVENT
-  				|| !(pmer2->dwButtonState & LEFT_RIGHT))
-***************
-*** 1126,1132 ****
-  			{
-  			    if (pmer2->dwEventFlags != MOUSE_MOVED)
-  			    {
-! 				ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
-  
-  				return decode_mouse_event(pmer2);
-  			    }
---- 1195,1201 ----
-  			{
-  			    if (pmer2->dwEventFlags != MOUSE_MOVED)
-  			    {
-! 				read_console_input(g_hConIn, &ir, 1, &cRecords);
-  
-  				return decode_mouse_event(pmer2);
-  			    }
-***************
-*** 1134,1143 ****
-  				     s_yOldMouse == pmer2->dwMousePosition.Y)
-  			    {
-  				/* throw away spurious mouse move */
-! 				ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
-  
-  				/* are there any more mouse events in queue? */
-! 				PeekConsoleInput(g_hConIn, &ir, 1, &cRecords);
-  
-  				if (cRecords==0 || ir.EventType != MOUSE_EVENT)
-  				    break;
---- 1203,1212 ----
-  				     s_yOldMouse == pmer2->dwMousePosition.Y)
-  			    {
-  				/* throw away spurious mouse move */
-! 				read_console_input(g_hConIn, &ir, 1, &cRecords);
-  
-  				/* are there any more mouse events in queue? */
-! 				peek_console_input(g_hConIn, &ir, 1, &cRecords);
-  
-  				if (cRecords==0 || ir.EventType != MOUSE_EVENT)
-  				    break;
-***************
-*** 1374,1380 ****
-  	}
-  
-  	cRecords = 0;
-! 	PeekConsoleInput(g_hConIn, &ir, 1, &cRecords);
-  
-  #ifdef FEAT_MBYTE_IME
-  	if (State & CMDLINE && msg_row == Rows - 1)
---- 1443,1449 ----
-  	}
-  
-  	cRecords = 0;
-! 	peek_console_input(g_hConIn, &ir, 1, &cRecords);
-  
-  #ifdef FEAT_MBYTE_IME
-  	if (State & CMDLINE && msg_row == Rows - 1)
-***************
-*** 1405,1411 ****
-  		if (ir.Event.KeyEvent.uChar.UnicodeChar == 0
-  			&& ir.Event.KeyEvent.wVirtualKeyCode == 13)
-  		{
-! 		    ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
-  		    continue;
-  		}
-  #endif
---- 1474,1480 ----
-  		if (ir.Event.KeyEvent.uChar.UnicodeChar == 0
-  			&& ir.Event.KeyEvent.wVirtualKeyCode == 13)
-  		{
-! 		    read_console_input(g_hConIn, &ir, 1, &cRecords);
-  		    continue;
-  		}
-  #endif
-***************
-*** 1414,1420 ****
-  		    return TRUE;
-  	    }
-  
-! 	    ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
-  
-  	    if (ir.EventType == FOCUS_EVENT)
-  		handle_focus_event(ir);
---- 1483,1489 ----
-  		    return TRUE;
-  	    }
-  
-! 	    read_console_input(g_hConIn, &ir, 1, &cRecords);
-  
-  	    if (ir.EventType == FOCUS_EVENT)
-  		handle_focus_event(ir);
-***************
-*** 1484,1490 ****
-  	    return 0;
-  # endif
-  #endif
-! 	if (ReadConsoleInput(g_hConIn, &ir, 1, &cRecords) == 0)
-  	{
-  	    if (did_create_conin)
-  		read_error_exit();
---- 1553,1559 ----
-  	    return 0;
-  # endif
-  #endif
-! 	if (read_console_input(g_hConIn, &ir, 1, &cRecords) == 0)
-  	{
-  	    if (did_create_conin)
-  		read_error_exit();
-*** ../vim-7.4.136/src/version.c	2014-01-10 13:05:12.000000000 +0100
---- src/version.c	2014-01-10 13:42:34.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     137,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-131. You challenge authority and society by portnuking people
-
- /// 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    ///
diff --git a/7.4.138 b/7.4.138
deleted file mode 100644
index 413383c..0000000
--- a/7.4.138
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.138
-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.138 (after 7.4.114)
-Problem:    Directory change messages are not recognized.
-Solution:   Fix using a character range literally. (Lech Lorens)
-Files:	    src/option.h
-
-
-*** ../vim-7.4.137/src/option.h	2013-12-11 12:22:54.000000000 +0100
---- src/option.h	2014-01-10 15:17:09.000000000 +0100
-***************
-*** 31,39 ****
-  #     define DFLT_EFM	"%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
-  #    else /* Unix, probably */
-  #     ifdef EBCDIC
-! #define DFLT_EFM	"%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     else
-! #define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     endif
-  #    endif
-  #   endif
---- 31,39 ----
-  #     define DFLT_EFM	"%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
-  #    else /* Unix, probably */
-  #     ifdef EBCDIC
-! #define DFLT_EFM	"%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     else
-! #define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%D%*\\a: Entering directory %*[`']%f',%X%*\\a: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
-  #     endif
-  #    endif
-  #   endif
-*** ../vim-7.4.137/src/version.c	2014-01-10 13:51:35.000000000 +0100
---- src/version.c	2014-01-10 15:17:04.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     138,
-  /**/
-
--- 
-In a world without fences, who needs Gates and Windows?
-
- /// 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    ///
diff --git a/7.4.139 b/7.4.139
deleted file mode 100644
index dc870dc..0000000
--- a/7.4.139
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.139
-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.139
-Problem:    Crash when using :cd in autocommand. (François Ingelrest)
-Solution:   Set w_localdir to NULL after freeing it. (Dominique Pelle)
-Files:	    src/ex_docmd.c, src/window.c
-
-
-*** ../vim-7.4.138/src/ex_docmd.c	2013-12-14 13:06:13.000000000 +0100
---- src/ex_docmd.c	2014-01-10 15:39:58.000000000 +0100
-***************
-*** 8228,8233 ****
---- 8228,8234 ----
-      int		local;
-  {
-      vim_free(curwin->w_localdir);
-+     curwin->w_localdir = NULL;
-      if (local)
-      {
-  	/* If still in global directory, need to remember current
-***************
-*** 8244,8250 ****
-  	 * name. */
-  	vim_free(globaldir);
-  	globaldir = NULL;
-- 	curwin->w_localdir = NULL;
-      }
-  
-      shorten_fnames(TRUE);
---- 8245,8250 ----
-*** ../vim-7.4.138/src/window.c	2013-08-14 17:11:14.000000000 +0200
---- src/window.c	2014-01-10 15:39:58.000000000 +0100
-***************
-*** 1216,1223 ****
-      else
-  	copy_loclist(oldp, newp);
-  #endif
-!     if (oldp->w_localdir != NULL)
-! 	newp->w_localdir = vim_strsave(oldp->w_localdir);
-  
-      /* copy tagstack and folds */
-      for (i = 0; i < oldp->w_tagstacklen; i++)
---- 1216,1223 ----
-      else
-  	copy_loclist(oldp, newp);
-  #endif
-!     newp->w_localdir = (oldp->w_localdir == NULL)
-! 				    ? NULL : vim_strsave(oldp->w_localdir);
-  
-      /* copy tagstack and folds */
-      for (i = 0; i < oldp->w_tagstacklen; i++)
-*** ../vim-7.4.138/src/version.c	2014-01-10 15:32:17.000000000 +0100
---- src/version.c	2014-01-10 15:39:48.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     139,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-132. You come back and check this list every half-hour.
-
- /// 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    ///
diff --git a/7.4.140 b/7.4.140
deleted file mode 100644
index e493828..0000000
--- a/7.4.140
+++ /dev/null
@@ -1,174 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.140
-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.140
-Problem:    Crash when wiping out buffer triggers autocommand that wipes out
-	    only other buffer.
-Solution:   Do not delete the last buffer, make it empty. (Hirohito Higashi)
-Files:	    src/buffer.c
-
-
-*** ../vim-7.4.139/src/buffer.c	2013-11-06 05:26:08.000000000 +0100
---- src/buffer.c	2014-01-10 16:41:22.000000000 +0100
-***************
-*** 994,999 ****
---- 994,1043 ----
-  #if defined(FEAT_LISTCMDS) || defined(FEAT_PYTHON) \
-  	|| defined(FEAT_PYTHON3) || defined(PROTO)
-  
-+ static int	empty_curbuf __ARGS((int close_others, int forceit, int action));
-+ 
-+ /*
-+  * Make the current buffer empty.
-+  * Used when it is wiped out and it's the last buffer.
-+  */
-+     static int
-+ empty_curbuf(close_others, forceit, action)
-+     int close_others;
-+     int forceit;
-+     int action;
-+ {
-+     int	    retval;
-+     buf_T   *buf = curbuf;
-+ 
-+     if (action == DOBUF_UNLOAD)
-+     {
-+ 	EMSG(_("E90: Cannot unload last buffer"));
-+ 	return FAIL;
-+     }
-+ 
-+     if (close_others)
-+     {
-+ 	/* Close any other windows on this buffer, then make it empty. */
-+ #ifdef FEAT_WINDOWS
-+ 	close_windows(buf, TRUE);
-+ #endif
-+     }
-+ 
-+     setpcmark();
-+     retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
-+ 					  forceit ? ECMD_FORCEIT : 0, curwin);
-+ 
-+     /*
-+      * do_ecmd() may create a new buffer, then we have to delete
-+      * the old one.  But do_ecmd() may have done that already, check
-+      * if the buffer still exists.
-+      */
-+     if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0)
-+ 	close_buffer(NULL, buf, action, FALSE);
-+     if (!close_others)
-+ 	need_fileinfo = FALSE;
-+     return retval;
-+ }
-  /*
-   * Implementation of the commands for the buffer list.
-   *
-***************
-*** 1114,1120 ****
-      if (unload)
-      {
-  	int	forward;
-- 	int	retval;
-  
-  	/* When unloading or deleting a buffer that's already unloaded and
-  	 * unlisted: fail silently. */
---- 1158,1163 ----
-***************
-*** 1155,1184 ****
-  	    if (bp->b_p_bl && bp != buf)
-  		break;
-  	if (bp == NULL && buf == curbuf)
-! 	{
-! 	    if (action == DOBUF_UNLOAD)
-! 	    {
-! 		EMSG(_("E90: Cannot unload last buffer"));
-! 		return FAIL;
-! 	    }
-! 
-! 	    /* Close any other windows on this buffer, then make it empty. */
-! #ifdef FEAT_WINDOWS
-! 	    close_windows(buf, TRUE);
-! #endif
-! 	    setpcmark();
-! 	    retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
-! 					  forceit ? ECMD_FORCEIT : 0, curwin);
-! 
-! 	    /*
-! 	     * do_ecmd() may create a new buffer, then we have to delete
-! 	     * the old one.  But do_ecmd() may have done that already, check
-! 	     * if the buffer still exists.
-! 	     */
-! 	    if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0)
-! 		close_buffer(NULL, buf, action, FALSE);
-! 	    return retval;
-! 	}
-  
-  #ifdef FEAT_WINDOWS
-  	/*
---- 1198,1204 ----
-  	    if (bp->b_p_bl && bp != buf)
-  		break;
-  	if (bp == NULL && buf == curbuf)
-! 	    return empty_curbuf(TRUE, forceit, action);
-  
-  #ifdef FEAT_WINDOWS
-  	/*
-***************
-*** 1212,1218 ****
-  
-  	/*
-  	 * Deleting the current buffer: Need to find another buffer to go to.
-! 	 * There must be another, otherwise it would have been handled above.
-  	 * First use au_new_curbuf, if it is valid.
-  	 * Then prefer the buffer we most recently visited.
-  	 * Else try to find one that is loaded, after the current buffer,
---- 1232,1239 ----
-  
-  	/*
-  	 * Deleting the current buffer: Need to find another buffer to go to.
-! 	 * There should be another, otherwise it would have been handled
-! 	 * above.  However, autocommands may have deleted all buffers.
-  	 * First use au_new_curbuf, if it is valid.
-  	 * Then prefer the buffer we most recently visited.
-  	 * Else try to find one that is loaded, after the current buffer,
-***************
-*** 1311,1316 ****
---- 1332,1344 ----
-  	}
-      }
-  
-+     if (buf == NULL)
-+     {
-+ 	/* Autocommands must have wiped out all other buffers.  Only option
-+ 	 * now is to make the current buffer empty. */
-+ 	return empty_curbuf(FALSE, forceit, action);
-+     }
-+ 
-      /*
-       * make buf current buffer
-       */
-*** ../vim-7.4.139/src/version.c	2014-01-10 15:53:09.000000000 +0100
---- src/version.c	2014-01-10 16:36:03.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     140,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-133. You communicate with people on other continents more than you
-     do with your own neighbors.
-
- /// 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    ///
diff --git a/7.4.141 b/7.4.141
deleted file mode 100644
index 8667b72..0000000
--- a/7.4.141
+++ /dev/null
@@ -1,88 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.141
-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.141
-Problem:    Problems when building with Borland: st_mode is signed short;
-	    can't build with Python; temp files not ignored by Mercurial;
-	    building with DEBUG doesn't define _DEBUG.
-Solution:   Fix the problems. (Ken Takata)
-Files:	    src/Make_bc5.mak, src/if_py_both.h, src/os_win32.c
-
-
-*** ../vim-7.4.140/src/Make_bc5.mak	2013-06-03 20:09:58.000000000 +0200
---- src/Make_bc5.mak	2014-01-10 18:12:14.000000000 +0100
-***************
-*** 419,425 ****
-  ALIGNARG = -a$(ALIGN)
-  #
-  !if ("$(DEBUG)"=="yes")
-! DEFINES=$(DEFINES) -DDEBUG
-  !endif
-  #
-  !if ("$(OLE)"=="yes")
---- 419,425 ----
-  ALIGNARG = -a$(ALIGN)
-  #
-  !if ("$(DEBUG)"=="yes")
-! DEFINES=$(DEFINES) -DDEBUG -D_DEBUG
-  !endif
-  #
-  !if ("$(OLE)"=="yes")
-*** ../vim-7.4.140/src/if_py_both.h	2013-12-07 14:28:37.000000000 +0100
---- src/if_py_both.h	2014-01-10 18:12:14.000000000 +0100
-***************
-*** 13,18 ****
---- 13,23 ----
-   * Common code for if_python.c and if_python3.c.
-   */
-  
-+ #ifdef __BORLANDC__
-+ /* Disable Warning W8060: Possibly incorrect assignment in function ... */
-+ # pragma warn -8060
-+ #endif
-+ 
-  static char_u e_py_systemexit[]	= "E880: Can't handle SystemExit of %s exception in vim";
-  
-  #if PY_VERSION_HEX < 0x02050000
-*** ../vim-7.4.140/src/os_win32.c	2014-01-10 13:51:35.000000000 +0100
---- src/os_win32.c	2014-01-10 18:12:14.000000000 +0100
-***************
-*** 2960,2966 ****
-      int		n;
-  
-      n = mch_stat(name, &st);
-!     return n == 0 ? (long)st.st_mode : -1L;
-  }
-  
-  
---- 2960,2966 ----
-      int		n;
-  
-      n = mch_stat(name, &st);
-!     return n == 0 ? (long)(unsigned short)st.st_mode : -1L;
-  }
-  
-  
-*** ../vim-7.4.140/src/version.c	2014-01-10 16:43:09.000000000 +0100
---- src/version.c	2014-01-10 18:14:58.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     141,
-  /**/
-
--- 
-Never eat yellow snow.
-
- /// 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    ///
diff --git a/7.4.142 b/7.4.142
deleted file mode 100644
index 0e4f8f0..0000000
--- a/7.4.142
+++ /dev/null
@@ -1,186 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.142
-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.142 (after 7.4.137)
-Problem:    On MS-Windows 8 IME input doen't work correctly.
-Solution:   Work around the problem. (Nobuhiro Takasaki)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.141/src/os_win32.c	2014-01-10 18:16:00.000000000 +0100
---- src/os_win32.c	2014-01-12 13:23:24.000000000 +0100
-***************
-*** 234,289 ****
-  
-  /*
-   * Version of ReadConsoleInput() that works with IME.
-   */
-      static BOOL
-  read_console_input(
-!     HANDLE hConsoleInput,
-!     PINPUT_RECORD lpBuffer,
-!     DWORD nLength,
-!     LPDWORD lpNumberOfEventsRead)
-  {
-      enum
-      {
-! 	IRSIZE = 10, /* rough value */
-      };
-!     static INPUT_RECORD irCache[IRSIZE];
-      static DWORD s_dwIndex = 0;
-      static DWORD s_dwMax = 0;
-! 
-!     if (hConsoleInput == NULL || lpBuffer == NULL)
-! 	return ReadConsoleInput(hConsoleInput, lpBuffer, nLength,
-! 							lpNumberOfEventsRead);
-! 
-!     if (nLength == -1)
-!     {
-! 	if (s_dwMax == 0)
-! 	{
-! 	    PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead);
-! 	    if (*lpNumberOfEventsRead == 0)
-! 		return FALSE;
-! 	    ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
-! 	    s_dwIndex = 0;
-! 	}
-! 	((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
-! 	*lpNumberOfEventsRead = 1;
-! 	return TRUE;
-!     }
-  
-      if (s_dwMax == 0)
-      {
-! 	ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
-  	s_dwIndex = 0;
-! 	if (s_dwMax == 0)
-  	{
-! 	    *lpNumberOfEventsRead = 0;
-! 	    return FALSE;
-  	}
-      }
-! 
-!     ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
-!     if (++s_dwIndex == s_dwMax)
-  	s_dwMax = 0;
-!     *lpNumberOfEventsRead = 1;
-      return TRUE;
-  }
-  
---- 234,275 ----
-  
-  /*
-   * Version of ReadConsoleInput() that works with IME.
-+  * Works around problems on Windows 8.
-   */
-      static BOOL
-  read_console_input(
-!     HANDLE	    hInput,
-!     INPUT_RECORD    *lpBuffer,
-!     DWORD	    nLength,
-!     LPDWORD	    lpEvents)
-  {
-      enum
-      {
-! 	IRSIZE = 10
-      };
-!     static INPUT_RECORD s_irCache[IRSIZE];
-      static DWORD s_dwIndex = 0;
-      static DWORD s_dwMax = 0;
-!     DWORD dwEvents;
-  
-      if (s_dwMax == 0)
-      {
-! 	if (nLength == -1)
-! 	    return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents);
-! 	if (!ReadConsoleInput(hInput, s_irCache, IRSIZE, &dwEvents))
-! 	    return FALSE;
-  	s_dwIndex = 0;
-! 	s_dwMax = dwEvents;
-! 	if (dwEvents == 0)
-  	{
-! 	    *lpEvents = 0;
-! 	    return TRUE;
-  	}
-      }
-!     *lpBuffer = s_irCache[s_dwIndex];
-!     if (nLength != -1 && ++s_dwIndex >= s_dwMax)
-  	s_dwMax = 0;
-!     *lpEvents = 1;
-      return TRUE;
-  }
-  
-***************
-*** 292,304 ****
-   */
-      static BOOL
-  peek_console_input(
-!     HANDLE hConsoleInput,
-!     PINPUT_RECORD lpBuffer,
-!     DWORD nLength,
-!     LPDWORD lpNumberOfEventsRead)
-  {
-!     return read_console_input(hConsoleInput, lpBuffer, -1,
-! 							lpNumberOfEventsRead);
-  }
-  
-      static void
---- 278,289 ----
-   */
-      static BOOL
-  peek_console_input(
-!     HANDLE	    hInput,
-!     INPUT_RECORD    *lpBuffer,
-!     DWORD	    nLength,
-!     LPDWORD	    lpEvents)
-  {
-!     return read_console_input(hInput, lpBuffer, -1, lpEvents);
-  }
-  
-      static void
-***************
-*** 585,594 ****
-      static BOOL
-  win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable)
-  {
-!     BOOL             bResult;
-!     LUID             luid;
-!     HANDLE           hToken;
-!     TOKEN_PRIVILEGES tokenPrivileges;
-  
-      if (!OpenProcessToken(GetCurrentProcess(),
-  		TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
---- 570,579 ----
-      static BOOL
-  win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable)
-  {
-!     BOOL		bResult;
-!     LUID		luid;
-!     HANDLE		hToken;
-!     TOKEN_PRIVILEGES	tokenPrivileges;
-  
-      if (!OpenProcessToken(GetCurrentProcess(),
-  		TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
-*** ../vim-7.4.141/src/version.c	2014-01-10 18:16:00.000000000 +0100
---- src/version.c	2014-01-12 13:17:47.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     142,
-  /**/
-
--- 
-Drink wet cement and get really stoned.
-
- /// 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    ///
diff --git a/7.4.143 b/7.4.143
deleted file mode 100644
index 909a9e9..0000000
--- a/7.4.143
+++ /dev/null
@@ -1,214 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.143
-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.143
-Problem:    TextChangedI is not triggered.
-Solution:   Reverse check for "ready". (lilydjwg)
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.142/src/edit.c	2013-11-06 04:01:31.000000000 +0100
---- src/edit.c	2014-01-12 13:30:53.000000000 +0100
-***************
-*** 1556,1642 ****
-      int		conceal_update_lines = FALSE;
-  #endif
-  
-!     if (!char_avail())
-!     {
-  #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL)
-! 	/* Trigger CursorMoved if the cursor moved.  Not when the popup menu is
-! 	 * visible, the command might delete it. */
-! 	if (ready && (
-  # ifdef FEAT_AUTOCMD
-! 		    has_cursormovedI()
-  # endif
-  # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
-! 		    ||
-  # endif
-  # ifdef FEAT_CONCEAL
-! 		    curwin->w_p_cole > 0
-  # endif
-! 		    )
-! 	    && !equalpos(last_cursormoved, curwin->w_cursor)
-  # ifdef FEAT_INS_EXPAND
-! 	    && !pum_visible()
-  # endif
-! 	   )
-! 	{
-  # ifdef FEAT_SYN_HL
-! 	    /* Need to update the screen first, to make sure syntax
-! 	     * highlighting is correct after making a change (e.g., inserting
-! 	     * a "(".  The autocommand may also require a redraw, so it's done
-! 	     * again below, unfortunately. */
-! 	    if (syntax_present(curwin) && must_redraw)
-! 		update_screen(0);
-  # endif
-  # ifdef FEAT_AUTOCMD
-! 	    if (has_cursormovedI())
-! 		apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf);
-  # endif
-  # ifdef FEAT_CONCEAL
-! 	    if (curwin->w_p_cole > 0)
-! 	    {
-! 		conceal_old_cursor_line = last_cursormoved.lnum;
-! 		conceal_new_cursor_line = curwin->w_cursor.lnum;
-! 		conceal_update_lines = TRUE;
-! 	    }
-! # endif
-! 	    last_cursormoved = curwin->w_cursor;
-  	}
-  #endif
-  #ifdef FEAT_AUTOCMD
-! 	/* Trigger TextChangedI if b_changedtick differs. */
-! 	if (!ready && has_textchangedI()
-! 		&& last_changedtick != curbuf->b_changedtick
-  # ifdef FEAT_INS_EXPAND
-! 		&& !pum_visible()
-  # endif
-! 		)
-! 	{
-! 	    if (last_changedtick_buf == curbuf)
-! 		apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
-! 	    last_changedtick_buf = curbuf;
-! 	    last_changedtick = curbuf->b_changedtick;
-! 	}
-  #endif
-! 	if (must_redraw)
-! 	    update_screen(0);
-! 	else if (clear_cmdline || redraw_cmdline)
-! 	    showmode();		/* clear cmdline and show mode */
-  # if defined(FEAT_CONCEAL)
-! 	if ((conceal_update_lines
-! 		&& (conceal_old_cursor_line != conceal_new_cursor_line
-! 		    || conceal_cursor_line(curwin)))
-! 		|| need_cursor_line_redraw)
-! 	{
-! 	    if (conceal_old_cursor_line != conceal_new_cursor_line)
-! 		update_single_line(curwin, conceal_old_cursor_line);
-! 	    update_single_line(curwin, conceal_new_cursor_line == 0
-! 			   ? curwin->w_cursor.lnum : conceal_new_cursor_line);
-! 	    curwin->w_valid &= ~VALID_CROW;
-! 	}
-! # endif
-! 	showruler(FALSE);
-! 	setcursor();
-! 	emsg_on_display = FALSE;	/* may remove error message now */
-      }
-  }
-  
-  /*
---- 1556,1644 ----
-      int		conceal_update_lines = FALSE;
-  #endif
-  
-!     if (char_avail())
-! 	return;
-! 
-  #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL)
-!     /* Trigger CursorMoved if the cursor moved.  Not when the popup menu is
-!      * visible, the command might delete it. */
-!     if (ready && (
-  # ifdef FEAT_AUTOCMD
-! 		has_cursormovedI()
-  # endif
-  # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
-! 		||
-  # endif
-  # ifdef FEAT_CONCEAL
-! 		curwin->w_p_cole > 0
-  # endif
-! 		)
-! 	&& !equalpos(last_cursormoved, curwin->w_cursor)
-  # ifdef FEAT_INS_EXPAND
-! 	&& !pum_visible()
-  # endif
-!        )
-!     {
-  # ifdef FEAT_SYN_HL
-! 	/* Need to update the screen first, to make sure syntax
-! 	 * highlighting is correct after making a change (e.g., inserting
-! 	 * a "(".  The autocommand may also require a redraw, so it's done
-! 	 * again below, unfortunately. */
-! 	if (syntax_present(curwin) && must_redraw)
-! 	    update_screen(0);
-  # endif
-  # ifdef FEAT_AUTOCMD
-! 	if (has_cursormovedI())
-! 	    apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf);
-  # endif
-  # ifdef FEAT_CONCEAL
-! 	if (curwin->w_p_cole > 0)
-! 	{
-! 	    conceal_old_cursor_line = last_cursormoved.lnum;
-! 	    conceal_new_cursor_line = curwin->w_cursor.lnum;
-! 	    conceal_update_lines = TRUE;
-  	}
-+ # endif
-+ 	last_cursormoved = curwin->w_cursor;
-+     }
-  #endif
-+ 
-  #ifdef FEAT_AUTOCMD
-!     /* Trigger TextChangedI if b_changedtick differs. */
-!     if (ready && has_textchangedI()
-! 	    && last_changedtick != curbuf->b_changedtick
-  # ifdef FEAT_INS_EXPAND
-! 	    && !pum_visible()
-  # endif
-! 	    )
-!     {
-! 	if (last_changedtick_buf == curbuf)
-! 	    apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
-! 	last_changedtick_buf = curbuf;
-! 	last_changedtick = curbuf->b_changedtick;
-!     }
-  #endif
-! 
-!     if (must_redraw)
-! 	update_screen(0);
-!     else if (clear_cmdline || redraw_cmdline)
-! 	showmode();		/* clear cmdline and show mode */
-  # if defined(FEAT_CONCEAL)
-!     if ((conceal_update_lines
-! 	    && (conceal_old_cursor_line != conceal_new_cursor_line
-! 		|| conceal_cursor_line(curwin)))
-! 	    || need_cursor_line_redraw)
-!     {
-! 	if (conceal_old_cursor_line != conceal_new_cursor_line)
-! 	    update_single_line(curwin, conceal_old_cursor_line);
-! 	update_single_line(curwin, conceal_new_cursor_line == 0
-! 		       ? curwin->w_cursor.lnum : conceal_new_cursor_line);
-! 	curwin->w_valid &= ~VALID_CROW;
-      }
-+ # endif
-+     showruler(FALSE);
-+     setcursor();
-+     emsg_on_display = FALSE;	/* may remove error message now */
-  }
-  
-  /*
-*** ../vim-7.4.142/src/version.c	2014-01-12 13:24:46.000000000 +0100
---- src/version.c	2014-01-14 12:15:50.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     143,
-  /**/
-
--- 
-You are not really successful until someone claims he sat
-beside you in school.
-
- /// 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    ///
diff --git a/7.4.144 b/7.4.144
deleted file mode 100644
index c88e2d2..0000000
--- a/7.4.144
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.144
-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.144
-Problem:    MingW also supports intptr_t for OPEN_OH_ARGTYPE.
-Solution:   Adjust #ifdef. (Ken Takata)
-Files:	    src/os_mswin.c
-
-
-*** ../vim-7.4.143/src/os_mswin.c	2014-01-10 13:05:12.000000000 +0100
---- src/os_mswin.c	2014-01-14 12:15:30.000000000 +0100
-***************
-*** 498,504 ****
-      }
-  }
-  
-! #if (_MSC_VER >= 1300)
-  # define OPEN_OH_ARGTYPE intptr_t
-  #else
-  # define OPEN_OH_ARGTYPE long
---- 498,504 ----
-      }
-  }
-  
-! #if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__)
-  # define OPEN_OH_ARGTYPE intptr_t
-  #else
-  # define OPEN_OH_ARGTYPE long
-*** ../vim-7.4.143/src/version.c	2014-01-14 12:16:57.000000000 +0100
---- src/version.c	2014-01-14 12:18:10.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     144,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-150. You find yourself counting emoticons to get to sleep.
-
- /// 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    ///
diff --git a/7.4.145 b/7.4.145
deleted file mode 100644
index aa7b28d..0000000
--- a/7.4.145
+++ /dev/null
@@ -1,75 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.145
-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.145
-Problem:    getregtype() does not return zero for unknown register.
-Solution:   Adjust documention: return empty string for unknown register.
-	    Check the register name to be valid. (Yukihiro Nakadaira)
-Files:	    runtime/doc/eval.txt, src/ops.c
-
-
-*** ../vim-7.4.144/runtime/doc/eval.txt	2013-11-09 01:44:38.000000000 +0100
---- runtime/doc/eval.txt	2014-01-14 12:24:35.000000000 +0100
-***************
-*** 3459,3465 ****
-  		    "v"			for |characterwise| text
-  		    "V"			for |linewise| text
-  		    "<CTRL-V>{width}"	for |blockwise-visual| text
-! 		    0			for an empty or unknown register
-  		<CTRL-V> is one character with value 0x16.
-  		If {regname} is not specified, |v:register| is used.
-  
---- 3460,3466 ----
-  		    "v"			for |characterwise| text
-  		    "V"			for |linewise| text
-  		    "<CTRL-V>{width}"	for |blockwise-visual| text
-! 		    ""			for an empty or unknown register
-  		<CTRL-V> is one character with value 0x16.
-  		If {regname} is not specified, |v:register| is used.
-  
-*** ../vim-7.4.144/src/ops.c	2013-11-21 14:39:58.000000000 +0100
---- src/ops.c	2014-01-14 12:28:33.000000000 +0100
-***************
-*** 6240,6246 ****
-      regname = may_get_selection(regname);
-  #endif
-  
-!     /* Should we check for a valid name? */
-      get_yank_register(regname, FALSE);
-  
-      if (y_current->y_array != NULL)
---- 6240,6248 ----
-      regname = may_get_selection(regname);
-  #endif
-  
-!     if (regname != NUL && !valid_yank_reg(regname, FALSE))
-!         return MAUTO;
-! 
-      get_yank_register(regname, FALSE);
-  
-      if (y_current->y_array != NULL)
-*** ../vim-7.4.144/src/version.c	2014-01-14 12:18:41.000000000 +0100
---- src/version.c	2014-01-14 12:26:13.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     145,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-151. You find yourself engaged to someone you've never actually met,
-     except through 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    ///
diff --git a/7.4.146 b/7.4.146
deleted file mode 100644
index f23a77d..0000000
--- a/7.4.146
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.146
-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.146
-Problem:    When starting Vim with "-u NONE" v:oldfiles is NULL.
-Solution:   Set v:oldfiles to an empty list. (Yasuhiro Matsumoto)
-Files:	    src/main.c
-
-
-*** ../vim-7.4.145/src/main.c	2013-09-29 16:27:42.000000000 +0200
---- src/main.c	2014-01-14 12:53:28.000000000 +0100
-***************
-*** 702,707 ****
---- 702,712 ----
-  	TIME_MSG("reading viminfo");
-      }
-  #endif
-+ #ifdef FEAT_EVAL
-+     /* It's better to make v:oldfiles an empty list than NULL. */
-+     if (get_vim_var_list(VV_OLDFILES) == NULL)
-+ 	set_vim_var_list(VV_OLDFILES, list_alloc());
-+ #endif
-  
-  #ifdef FEAT_QUICKFIX
-      /*
-***************
-*** 1048,1054 ****
-      /* Setup to catch a terminating error from the X server.  Just ignore
-       * it, restore the state and continue.  This might not always work
-       * properly, but at least we don't exit unexpectedly when the X server
-!      * exists while Vim is running in a console. */
-      if (!cmdwin && !noexmode && SETJMP(x_jump_env))
-      {
-  	State = NORMAL;
---- 1053,1059 ----
-      /* Setup to catch a terminating error from the X server.  Just ignore
-       * it, restore the state and continue.  This might not always work
-       * properly, but at least we don't exit unexpectedly when the X server
-!      * exits while Vim is running in a console. */
-      if (!cmdwin && !noexmode && SETJMP(x_jump_env))
-      {
-  	State = NORMAL;
-*** ../vim-7.4.145/src/version.c	2014-01-14 12:33:32.000000000 +0100
---- src/version.c	2014-01-14 12:56:08.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     146,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-152. You find yourself falling for someone you've never seen or hardly
-     know, but, boy can he/she TYPE!!!!!!
-
- /// 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    ///
diff --git a/7.4.147 b/7.4.147
deleted file mode 100644
index 0df6ffa..0000000
Binary files a/7.4.147 and /dev/null differ
diff --git a/7.4.148 b/7.4.148
deleted file mode 100644
index 582b378..0000000
--- a/7.4.148
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.148
-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.148
-Problem:    Cannot build with Cygwin and X11.
-Solution:   Include Xwindows.h instead of windows.h. (Lech Lorens)
-Files:	    src/mbyte.c
-
-
-*** ../vim-7.4.147/src/mbyte.c	2013-11-12 04:43:57.000000000 +0100
---- src/mbyte.c	2014-01-14 13:21:36.000000000 +0100
-***************
-*** 83,92 ****
-  # ifndef WIN32_LEAN_AND_MEAN
-  #  define WIN32_LEAN_AND_MEAN
-  # endif
-! # include <windows.h>
-  # ifdef WIN32
-  #  undef WIN32	    /* Some windows.h define WIN32, we don't want that here. */
-  # endif
-  #endif
-  
-  #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__)
---- 83,100 ----
-  # ifndef WIN32_LEAN_AND_MEAN
-  #  define WIN32_LEAN_AND_MEAN
-  # endif
-! # if defined(FEAT_GUI) || defined(FEAT_XCLIPBOARD)
-! #  include <X11/Xwindows.h>
-! #  define WINBYTE wBYTE
-! # else
-! #  include <windows.h>
-! #  define WINBYTE BYTE
-! # endif
-  # ifdef WIN32
-  #  undef WIN32	    /* Some windows.h define WIN32, we don't want that here. */
-  # endif
-+ #else
-+ # define WINBYTE BYTE
-  #endif
-  
-  #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__)
-***************
-*** 698,704 ****
-  	    /* enc_dbcs is set by setting 'fileencoding'.  It becomes a Windows
-  	     * CodePage identifier, which we can pass directly in to Windows
-  	     * API */
-! 	    n = IsDBCSLeadByteEx(enc_dbcs, (BYTE)i) ? 2 : 1;
-  #else
-  # if defined(MACOS) || defined(__amigaos4__)
-  	    /*
---- 706,712 ----
-  	    /* enc_dbcs is set by setting 'fileencoding'.  It becomes a Windows
-  	     * CodePage identifier, which we can pass directly in to Windows
-  	     * API */
-! 	    n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1;
-  #else
-  # if defined(MACOS) || defined(__amigaos4__)
-  	    /*
-*** ../vim-7.4.147/src/version.c	2014-01-14 13:18:53.000000000 +0100
---- src/version.c	2014-01-14 13:24:17.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     148,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-154. You fondle your mouse.
-
- /// 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    ///
diff --git a/7.4.149 b/7.4.149
deleted file mode 100644
index b158420..0000000
--- a/7.4.149
+++ /dev/null
@@ -1,822 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.149
-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.149
-Problem:    Get E685 error when assigning a function to an autoload variable.
-	    (Yukihiro Nakadaira)
-Solution:   Instead of having a global no_autoload variable, pass an autoload
-	    flag down to where it is used. (ZyX)
-Files:	    src/eval.c, src/testdir/test55.in, src/testdir/test55.ok,
-	    src/testdir/test60.in, src/testdir/test60.ok,
-	    src/testdir/sautest/autoload/footest.vim
-
-
-*** ../vim-7.4.148/src/eval.c	2014-01-06 06:18:44.000000000 +0100
---- src/eval.c	2014-01-14 15:14:05.000000000 +0100
-***************
-*** 125,133 ****
-   */
-  static hashtab_T	compat_hashtab;
-  
-- /* When using exists() don't auto-load a script. */
-- static int		no_autoload = FALSE;
-- 
-  /*
-   * When recursively copying lists and dicts we need to remember which ones we
-   * have done to avoid endless recursiveness.  This unique ID is used for that.
---- 125,130 ----
-***************
-*** 156,161 ****
---- 153,163 ----
-  /* Values for trans_function_name() argument: */
-  #define TFN_INT		1	/* internal function name OK */
-  #define TFN_QUIET	2	/* no error messages */
-+ #define TFN_NO_AUTOLOAD	4	/* do not use script autoloading */
-+ 
-+ /* Values for get_lval() flags argument: */
-+ #define GLV_QUIET	TFN_QUIET	/* no error messages */
-+ #define GLV_NO_AUTOLOAD	TFN_NO_AUTOLOAD	/* do not use script autoloading */
-  
-  /*
-   * Structure to hold info for a user function.
-***************
-*** 390,396 ****
-  static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first));
-  static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op));
-  static int check_changedtick __ARGS((char_u *arg));
-! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet, int fne_flags));
-  static void clear_lval __ARGS((lval_T *lp));
-  static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op));
-  static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u  *op));
---- 392,398 ----
-  static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first));
-  static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op));
-  static int check_changedtick __ARGS((char_u *arg));
-! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int flags, int fne_flags));
-  static void clear_lval __ARGS((lval_T *lp));
-  static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op));
-  static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u  *op));
-***************
-*** 770,776 ****
-  static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end));
-  static int eval_isnamec __ARGS((int c));
-  static int eval_isnamec1 __ARGS((int c));
-! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose));
-  static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose));
-  static typval_T *alloc_tv __ARGS((void));
-  static typval_T *alloc_string_tv __ARGS((char_u *string));
---- 772,778 ----
-  static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end));
-  static int eval_isnamec __ARGS((int c));
-  static int eval_isnamec1 __ARGS((int c));
-! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose, int no_autoload));
-  static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose));
-  static typval_T *alloc_tv __ARGS((void));
-  static typval_T *alloc_string_tv __ARGS((char_u *string));
-***************
-*** 781,788 ****
-  static char_u *get_tv_string __ARGS((typval_T *varp));
-  static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
-  static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf));
-! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp));
-! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int writing));
-  static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname));
-  static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
-  static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
---- 783,790 ----
-  static char_u *get_tv_string __ARGS((typval_T *varp));
-  static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
-  static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf));
-! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp, int no_autoload));
-! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int no_autoload));
-  static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname));
-  static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
-  static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
-***************
-*** 1059,1065 ****
-      ga_init2(&redir_ga, (int)sizeof(char), 500);
-  
-      /* Parse the variable name (can be a dict or list entry). */
-!     redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE,
-  							     FNE_CHECK_START);
-      if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL)
-      {
---- 1061,1067 ----
-      ga_init2(&redir_ga, (int)sizeof(char), 500);
-  
-      /* Parse the variable name (can be a dict or list entry). */
-!     redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, 0,
-  							     FNE_CHECK_START);
-      if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL)
-      {
-***************
-*** 1150,1156 ****
-  	    /* Call get_lval() again, if it's inside a Dict or List it may
-  	     * have changed. */
-  	    redir_endp = get_lval(redir_varname, NULL, redir_lval,
-! 					FALSE, FALSE, FALSE, FNE_CHECK_START);
-  	    if (redir_endp != NULL && redir_lval->ll_name != NULL)
-  		set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)".");
-  	    clear_lval(redir_lval);
---- 1152,1158 ----
-  	    /* Call get_lval() again, if it's inside a Dict or List it may
-  	     * have changed. */
-  	    redir_endp = get_lval(redir_varname, NULL, redir_lval,
-! 					FALSE, FALSE, 0, FNE_CHECK_START);
-  	    if (redir_endp != NULL && redir_lval->ll_name != NULL)
-  		set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)".");
-  	    clear_lval(redir_lval);
-***************
-*** 2239,2245 ****
-  	    {
-  		if (tofree != NULL)
-  		    name = tofree;
-! 		if (get_var_tv(name, len, &tv, TRUE) == FAIL)
-  		    error = TRUE;
-  		else
-  		{
---- 2241,2247 ----
-  	    {
-  		if (tofree != NULL)
-  		    name = tofree;
-! 		if (get_var_tv(name, len, &tv, TRUE, FALSE) == FAIL)
-  		    error = TRUE;
-  		else
-  		{
-***************
-*** 2474,2480 ****
-      {
-  	lval_T	lv;
-  
-! 	p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE, FNE_CHECK_START);
-  	if (p != NULL && lv.ll_name != NULL)
-  	{
-  	    if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL)
---- 2476,2482 ----
-      {
-  	lval_T	lv;
-  
-! 	p = get_lval(arg, tv, &lv, FALSE, FALSE, 0, FNE_CHECK_START);
-  	if (p != NULL && lv.ll_name != NULL)
-  	{
-  	    if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL)
-***************
-*** 2519,2536 ****
-   * "unlet" is TRUE for ":unlet": slightly different behavior when something is
-   * wrong; must end in space or cmd separator.
-   *
-   * Returns a pointer to just after the name, including indexes.
-   * When an evaluation error occurs "lp->ll_name" is NULL;
-   * Returns NULL for a parsing error.  Still need to free items in "lp"!
-   */
-      static char_u *
-! get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
-      char_u	*name;
-      typval_T	*rettv;
-      lval_T	*lp;
-      int		unlet;
-      int		skip;
-!     int		quiet;	    /* don't give error messages */
-      int		fne_flags;  /* flags for find_name_end() */
-  {
-      char_u	*p;
---- 2521,2542 ----
-   * "unlet" is TRUE for ":unlet": slightly different behavior when something is
-   * wrong; must end in space or cmd separator.
-   *
-+  * flags:
-+  *  GLV_QUIET:       do not give error messages
-+  *  GLV_NO_AUTOLOAD: do not use script autoloading
-+  *
-   * Returns a pointer to just after the name, including indexes.
-   * When an evaluation error occurs "lp->ll_name" is NULL;
-   * Returns NULL for a parsing error.  Still need to free items in "lp"!
-   */
-      static char_u *
-! get_lval(name, rettv, lp, unlet, skip, flags, fne_flags)
-      char_u	*name;
-      typval_T	*rettv;
-      lval_T	*lp;
-      int		unlet;
-      int		skip;
-!     int		flags;	    /* GLV_ values */
-      int		fne_flags;  /* flags for find_name_end() */
-  {
-      char_u	*p;
-***************
-*** 2544,2549 ****
---- 2550,2556 ----
-      char_u	*key = NULL;
-      int		len;
-      hashtab_T	*ht;
-+     int		quiet = flags & GLV_QUIET;
-  
-      /* Clear everything in "lp". */
-      vim_memset(lp, 0, sizeof(lval_T));
-***************
-*** 2591,2597 ****
-  
-      cc = *p;
-      *p = NUL;
-!     v = find_var(lp->ll_name, &ht);
-      if (v == NULL && !quiet)
-  	EMSG2(_(e_undefvar), lp->ll_name);
-      *p = cc;
---- 2598,2604 ----
-  
-      cc = *p;
-      *p = NUL;
-!     v = find_var(lp->ll_name, &ht, flags & GLV_NO_AUTOLOAD);
-      if (v == NULL && !quiet)
-  	EMSG2(_(e_undefvar), lp->ll_name);
-      *p = cc;
-***************
-*** 2904,2910 ****
-  
-  		/* handle +=, -= and .= */
-  		if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name),
-! 							     &tv, TRUE) == OK)
-  		{
-  		    if (tv_op(&tv, rettv, op) == OK)
-  			set_var(lp->ll_name, &tv, FALSE);
---- 2911,2917 ----
-  
-  		/* handle +=, -= and .= */
-  		if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name),
-! 						      &tv, TRUE, FALSE) == OK)
-  		{
-  		    if (tv_op(&tv, rettv, op) == OK)
-  			set_var(lp->ll_name, &tv, FALSE);
-***************
-*** 3556,3562 ****
-      do
-      {
-  	/* Parse the name and find the end. */
-! 	name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE,
-  							     FNE_CHECK_START);
-  	if (lv.ll_name == NULL)
-  	    error = TRUE;	    /* error but continue parsing */
---- 3563,3569 ----
-      do
-      {
-  	/* Parse the name and find the end. */
-! 	name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, 0,
-  							     FNE_CHECK_START);
-  	if (lv.ll_name == NULL)
-  	    error = TRUE;	    /* error but continue parsing */
-***************
-*** 3709,3715 ****
-  	    ret = FAIL;
-  	else
-  	{
-! 	    di = find_var(lp->ll_name, NULL);
-  	    if (di == NULL)
-  		ret = FAIL;
-  	    else
---- 3716,3722 ----
-  	    ret = FAIL;
-  	else
-  	{
-! 	    di = find_var(lp->ll_name, NULL, TRUE);
-  	    if (di == NULL)
-  		ret = FAIL;
-  	    else
-***************
-*** 5179,5185 ****
-  		}
-  	    }
-  	    else if (evaluate)
-! 		ret = get_var_tv(s, len, rettv, TRUE);
-  	    else
-  		ret = OK;
-  	}
---- 5186,5192 ----
-  		}
-  	    }
-  	    else if (evaluate)
-! 		ret = get_var_tv(s, len, rettv, TRUE, FALSE);
-  	    else
-  		ret = OK;
-  	}
-***************
-*** 8284,8290 ****
-  
-      cc = name[*lenp];
-      name[*lenp] = NUL;
-!     v = find_var(name, NULL);
-      name[*lenp] = cc;
-      if (v != NULL && v->di_tv.v_type == VAR_FUNC)
-      {
---- 8291,8297 ----
-  
-      cc = name[*lenp];
-      name[*lenp] = NUL;
-!     v = find_var(name, NULL, FALSE);
-      name[*lenp] = cc;
-      if (v != NULL && v->di_tv.v_type == VAR_FUNC)
-      {
-***************
-*** 10039,10046 ****
-      int		n = FALSE;
-      int		len = 0;
-  
--     no_autoload = TRUE;
-- 
-      p = get_tv_string(&argvars[0]);
-      if (*p == '$')			/* environment variable */
-      {
---- 10046,10051 ----
-***************
-*** 10091,10097 ****
-  	{
-  	    if (tofree != NULL)
-  		name = tofree;
-! 	    n = (get_var_tv(name, len, &tv, FALSE) == OK);
-  	    if (n)
-  	    {
-  		/* handle d.key, l[idx], f(expr) */
---- 10096,10102 ----
-  	{
-  	    if (tofree != NULL)
-  		name = tofree;
-! 	    n = (get_var_tv(name, len, &tv, FALSE, TRUE) == OK);
-  	    if (n)
-  	    {
-  		/* handle d.key, l[idx], f(expr) */
-***************
-*** 10107,10114 ****
-      }
-  
-      rettv->vval.v_number = n;
-- 
--     no_autoload = FALSE;
-  }
-  
-  #ifdef FEAT_FLOAT
---- 10112,10117 ----
-***************
-*** 13344,13351 ****
-      dictitem_T	*di;
-  
-      rettv->vval.v_number = -1;
-!     end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE,
-! 							     FNE_CHECK_START);
-      if (end != NULL && lv.ll_name != NULL)
-      {
-  	if (*end != NUL)
---- 13347,13354 ----
-      dictitem_T	*di;
-  
-      rettv->vval.v_number = -1;
-!     end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE,
-! 					GLV_NO_AUTOLOAD, FNE_CHECK_START);
-      if (end != NULL && lv.ll_name != NULL)
-      {
-  	if (*end != NUL)
-***************
-*** 13358,13364 ****
-  		    rettv->vval.v_number = 1;	    /* always locked */
-  		else
-  		{
-! 		    di = find_var(lv.ll_name, NULL);
-  		    if (di != NULL)
-  		    {
-  			/* Consider a variable locked when:
---- 13361,13367 ----
-  		    rettv->vval.v_number = 1;	    /* always locked */
-  		else
-  		{
-! 		    di = find_var(lv.ll_name, NULL, TRUE);
-  		    if (di != NULL)
-  		    {
-  			/* Consider a variable locked when:
-***************
-*** 19774,19784 ****
-   * Return OK or FAIL.
-   */
-      static int
-! get_var_tv(name, len, rettv, verbose)
-      char_u	*name;
-      int		len;		/* length of "name" */
-      typval_T	*rettv;		/* NULL when only checking existence */
-      int		verbose;	/* may give error message */
-  {
-      int		ret = OK;
-      typval_T	*tv = NULL;
---- 19777,19788 ----
-   * Return OK or FAIL.
-   */
-      static int
-! get_var_tv(name, len, rettv, verbose, no_autoload)
-      char_u	*name;
-      int		len;		/* length of "name" */
-      typval_T	*rettv;		/* NULL when only checking existence */
-      int		verbose;	/* may give error message */
-+     int		no_autoload;	/* do not use script autoloading */
-  {
-      int		ret = OK;
-      typval_T	*tv = NULL;
-***************
-*** 19805,19811 ****
-       */
-      else
-      {
-! 	v = find_var(name, NULL);
-  	if (v != NULL)
-  	    tv = &v->di_tv;
-      }
---- 19809,19815 ----
-       */
-      else
-      {
-! 	v = find_var(name, NULL, no_autoload);
-  	if (v != NULL)
-  	    tv = &v->di_tv;
-      }
-***************
-*** 20207,20215 ****
-   * hashtab_T used.
-   */
-      static dictitem_T *
-! find_var(name, htp)
-      char_u	*name;
-      hashtab_T	**htp;
-  {
-      char_u	*varname;
-      hashtab_T	*ht;
---- 20211,20220 ----
-   * hashtab_T used.
-   */
-      static dictitem_T *
-! find_var(name, htp, no_autoload)
-      char_u	*name;
-      hashtab_T	**htp;
-+     int		no_autoload;
-  {
-      char_u	*varname;
-      hashtab_T	*ht;
-***************
-*** 20219,20225 ****
-  	*htp = ht;
-      if (ht == NULL)
-  	return NULL;
-!     return find_var_in_ht(ht, *name, varname, htp != NULL);
-  }
-  
-  /*
---- 20224,20230 ----
-  	*htp = ht;
-      if (ht == NULL)
-  	return NULL;
-!     return find_var_in_ht(ht, *name, varname, no_autoload || htp != NULL);
-  }
-  
-  /*
-***************
-*** 20227,20237 ****
-   * Returns NULL if not found.
-   */
-      static dictitem_T *
-! find_var_in_ht(ht, htname, varname, writing)
-      hashtab_T	*ht;
-      int		htname;
-      char_u	*varname;
-!     int		writing;
-  {
-      hashitem_T	*hi;
-  
---- 20232,20242 ----
-   * Returns NULL if not found.
-   */
-      static dictitem_T *
-! find_var_in_ht(ht, htname, varname, no_autoload)
-      hashtab_T	*ht;
-      int		htname;
-      char_u	*varname;
-!     int		no_autoload;
-  {
-      hashitem_T	*hi;
-  
-***************
-*** 20263,20269 ****
-  	 * worked find the variable again.  Don't auto-load a script if it was
-  	 * loaded already, otherwise it would be loaded every time when
-  	 * checking if a function name is a Funcref variable. */
-! 	if (ht == &globvarht && !writing)
-  	{
-  	    /* Note: script_autoload() may make "hi" invalid. It must either
-  	     * be obtained again or not used. */
---- 20268,20274 ----
-  	 * worked find the variable again.  Don't auto-load a script if it was
-  	 * loaded already, otherwise it would be loaded every time when
-  	 * checking if a function name is a Funcref variable. */
-! 	if (ht == &globvarht && !no_autoload)
-  	{
-  	    /* Note: script_autoload() may make "hi" invalid. It must either
-  	     * be obtained again or not used. */
-***************
-*** 20343,20349 ****
-  {
-      dictitem_T	*v;
-  
-!     v = find_var(name, NULL);
-      if (v == NULL)
-  	return NULL;
-      return get_tv_string(&v->di_tv);
---- 20348,20354 ----
-  {
-      dictitem_T	*v;
-  
-!     v = find_var(name, NULL, FALSE);
-      if (v == NULL)
-  	return NULL;
-      return get_tv_string(&v->di_tv);
-***************
-*** 21672,21678 ****
-       */
-      if (fudi.fd_dict == NULL)
-      {
-! 	v = find_var(name, &ht);
-  	if (v != NULL && v->di_tv.v_type == VAR_FUNC)
-  	{
-  	    emsg_funcname(N_("E707: Function name conflicts with variable: %s"),
---- 21677,21683 ----
-       */
-      if (fudi.fd_dict == NULL)
-      {
-! 	v = find_var(name, &ht, FALSE);
-  	if (v != NULL && v->di_tv.v_type == VAR_FUNC)
-  	{
-  	    emsg_funcname(N_("E707: Function name conflicts with variable: %s"),
-***************
-*** 21830,21837 ****
-   * Also handles a Funcref in a List or Dictionary.
-   * Returns the function name in allocated memory, or NULL for failure.
-   * flags:
-!  * TFN_INT:   internal function name OK
-!  * TFN_QUIET: be quiet
-   * Advances "pp" to just after the function name (if no error).
-   */
-      static char_u *
---- 21835,21843 ----
-   * Also handles a Funcref in a List or Dictionary.
-   * Returns the function name in allocated memory, or NULL for failure.
-   * flags:
-!  * TFN_INT:         internal function name OK
-!  * TFN_QUIET:       be quiet
-!  * TFN_NO_AUTOLOAD: do not use script autoloading
-   * Advances "pp" to just after the function name (if no error).
-   */
-      static char_u *
-***************
-*** 21869,21875 ****
-      if (lead > 2)
-  	start += lead;
-  
-!     end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET,
-  					      lead > 2 ? 0 : FNE_CHECK_START);
-      if (end == start)
-      {
---- 21875,21882 ----
-      if (lead > 2)
-  	start += lead;
-  
-!     /* Note that TFN_ flags use the same values as GLV_ flags. */
-!     end = get_lval(start, NULL, &lv, FALSE, skip, flags,
-  					      lead > 2 ? 0 : FNE_CHECK_START);
-      if (end == start)
-      {
-***************
-*** 22146,22152 ****
-      char_u  *p;
-      int	    n = FALSE;
-  
-!     p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET, NULL);
-      nm = skipwhite(nm);
-  
-      /* Only accept "funcname", "funcname ", "funcname (..." and
---- 22153,22160 ----
-      char_u  *p;
-      int	    n = FALSE;
-  
-!     p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET|TFN_NO_AUTOLOAD,
-! 			    NULL);
-      nm = skipwhite(nm);
-  
-      /* Only accept "funcname", "funcname ", "funcname (..." and
-***************
-*** 22393,22402 ****
-      int		ret = FALSE;
-      int		i;
-  
--     /* Return quickly when autoload disabled. */
--     if (no_autoload)
-- 	return FALSE;
-- 
-      /* If there is no '#' after name[0] there is no package name. */
-      p = vim_strchr(name, AUTOLOAD_CHAR);
-      if (p == NULL || p == name)
---- 22401,22406 ----
-*** ../vim-7.4.148/src/testdir/test55.in	2013-03-07 14:33:12.000000000 +0100
---- src/testdir/test55.in	2014-01-14 14:48:10.000000000 +0100
-***************
-*** 282,287 ****
---- 282,294 ----
-  :    $put =ps
-  :  endfor
-  :endfor
-+ :" :lockvar/islocked() triggering script autoloading
-+ :set rtp+=./sautest
-+ :lockvar g:footest#x
-+ :unlockvar g:footest#x
-+ :$put ='locked g:footest#x:'.islocked('g:footest#x')
-+ :$put ='exists g:footest#x:'.exists('g:footest#x')
-+ :$put ='g:footest#x: '.g:footest#x
-  :"
-  :" a:000 function argument
-  :" first the tests that should fail
-*** ../vim-7.4.148/src/testdir/test55.ok	2012-08-29 16:51:15.000000000 +0200
---- src/testdir/test55.ok	2014-01-14 14:45:14.000000000 +0100
-***************
-*** 86,91 ****
---- 86,94 ----
-  FFpFFpp
-  0000-000
-  ppppppp
-+ locked g:footest#x:-1
-+ exists g:footest#x:0
-+ g:footest#x: 1
-  caught a:000
-  caught a:000[0]
-  caught a:000[2]
-*** ../vim-7.4.148/src/testdir/test60.in	2010-05-15 13:04:10.000000000 +0200
---- src/testdir/test60.in	2014-01-14 14:49:10.000000000 +0100
-***************
-*** 1,4 ****
-! Tests for the exists() function.  vim: set ft=vim :
-  
-  STARTTEST
-  :so small.vim
---- 1,4 ----
-! Tests for the exists() function.  vim: set ft=vim ts=8 :
-  
-  STARTTEST
-  :so small.vim
-***************
-*** 11,18 ****
-  endfunction
-  :function! TestExists()
-      augroup myagroup
-! 	autocmd! BufEnter *.my echo 'myfile edited'
-      augroup END
-  
-      let test_cases = []
-  
---- 11,20 ----
-  endfunction
-  :function! TestExists()
-      augroup myagroup
-! 	autocmd! BufEnter       *.my     echo "myfile edited"
-! 	autocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"
-      augroup END
-+     set rtp+=./sautest
-  
-      let test_cases = []
-  
-***************
-*** 95,104 ****
-      " Non-existing user defined function
-      let test_cases += [['*MyxyzFunc', 0]]
-  
-      redir! > test.out
-  
-      for [test_case, result] in test_cases
-!       	echo test_case . ": " . result
-          call RunTest(test_case, result)
-      endfor
-  
---- 97,111 ----
-      " Non-existing user defined function
-      let test_cases += [['*MyxyzFunc', 0]]
-  
-+     " Function that may be created by FuncUndefined event
-+     let test_cases += [['*UndefFun', 0]]
-+     " Function that may be created by script autoloading
-+     let test_cases += [['*footest#F', 0]]
-+ 
-      redir! > test.out
-  
-      for [test_case, result] in test_cases
-!         echo test_case . ": " . result
-          call RunTest(test_case, result)
-      endfor
-  
-***************
-*** 207,212 ****
---- 214,227 ----
-  	echo "FAILED"
-      endif
-  
-+     " Non-existing autoload variable that may be autoloaded
-+     echo 'footest#x: 0'
-+     if !exists('footest#x')
-+ 	echo "OK"
-+     else
-+ 	echo "FAILED"
-+     endif
-+ 
-      " Valid local list
-      let local_list = ["blue", "orange"]
-      echo 'local_list: 1'
-***************
-*** 566,571 ****
---- 581,590 ----
-  
-      call TestFuncArg("arg1", "arg2")
-  
-+     echo ' g:footest#x =' g:footest#x
-+     echo '   footest#F()' footest#F()
-+     echo 'UndefFun()' UndefFun()
-+ 
-      redir END
-  endfunction
-  :call TestExists()
-***************
-*** 576,580 ****
---- 595,600 ----
-  :set ff=unix
-  :w
-  :qa!
-+ :while getchar(1) | call getchar() | endwhile
-  ENDTEST
-  
-*** ../vim-7.4.148/src/testdir/test60.ok	2010-05-15 13:04:10.000000000 +0200
---- src/testdir/test60.ok	2014-01-14 14:50:50.000000000 +0100
-***************
-*** 71,76 ****
---- 71,80 ----
-  OK
-  *MyxyzFunc: 0
-  OK
-+ *UndefFun: 0
-+ OK
-+ *footest#F: 0
-+ OK
-  :edit: 2
-  OK
-  :edit/a: 0
-***************
-*** 95,100 ****
---- 99,106 ----
-  OK
-  local_var: 0
-  OK
-+ footest#x: 0
-+ OK
-  local_list: 1
-  OK
-  local_list[1]: 1
-***************
-*** 195,197 ****
---- 201,206 ----
-  OK
-  a:2: 0
-  OK
-+  g:footest#x = 1
-+    footest#F() 0
-+ UndefFun() 0
-*** ../vim-7.4.148/src/testdir/sautest/autoload/footest.vim	1970-01-01 01:00:00.000000000 +0100
---- src/testdir/sautest/autoload/footest.vim	2014-01-14 14:52:06.000000000 +0100
-***************
-*** 0 ****
---- 1,5 ----
-+ " Autoload script used by test55 and test60
-+ let footest#x = 1
-+ func footest#F()
-+   return 0
-+ endfunc
-*** ../vim-7.4.148/src/version.c	2014-01-14 13:26:17.000000000 +0100
---- src/version.c	2014-01-14 15:23:36.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     149,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-157. You fum through a magazine, you first check to see if it has a web
-     address.
-
- /// 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    ///
diff --git a/7.4.150 b/7.4.150
deleted file mode 100644
index 528f4d6..0000000
--- a/7.4.150
+++ /dev/null
@@ -1,93 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.150
-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.150
-Problem:    :keeppatterns is not respected for :s.
-Solution:   Check the keeppatterns flag. (Yasuhiro Matsumoto)
-Files:	    src/search.c, src/testdir/test14.in, src/testdir/test14.ok
-
-
-*** ../vim-7.4.149/src/search.c	2013-11-28 19:27:18.000000000 +0100
---- src/search.c	2014-01-14 15:44:33.000000000 +0100
-***************
-*** 201,207 ****
-       * Save the currently used pattern in the appropriate place,
-       * unless the pattern should not be remembered.
-       */
-!     if (!(options & SEARCH_KEEP))
-      {
-  	/* search or global command */
-  	if (pat_save == RE_SEARCH || pat_save == RE_BOTH)
---- 201,207 ----
-       * Save the currently used pattern in the appropriate place,
-       * unless the pattern should not be remembered.
-       */
-!     if (!(options & SEARCH_KEEP) && !cmdmod.keeppatterns)
-      {
-  	/* search or global command */
-  	if (pat_save == RE_SEARCH || pat_save == RE_BOTH)
-*** ../vim-7.4.149/src/testdir/test14.in	2013-04-03 20:59:14.000000000 +0200
---- src/testdir/test14.in	2014-01-14 15:43:28.000000000 +0100
-***************
-*** 47,52 ****
---- 47,61 ----
-  /two
-  :call search('.', 'c')
-  :call append(line('$'), getline('.')[col('.') - 1:])
-+ :"
-+ /^substitute
-+ :s/foo/bar/
-+ :$put =@/
-+ /^substitute
-+ :keeppatterns s/asdf/xyz/
-+ :$put =@/
-+ /^substitute
-+ Y:$put =@0
-  :/^search()/,$w >>test.out
-  :qa!
-  ENDTEST
-***************
-*** 81,86 ****
---- 90,96 ----
-  
-  foobar
-  
-+ substitute foo asdf
-  
-  one two
-  search()
-*** ../vim-7.4.149/src/testdir/test14.ok	2013-04-03 20:59:14.000000000 +0200
---- src/testdir/test14.ok	2014-01-14 15:46:42.000000000 +0100
-***************
-*** 20,22 ****
---- 20,25 ----
-  1
-  1
-  two
-+ foo
-+ ^substitute
-+ substitute bar xyz
-*** ../vim-7.4.149/src/version.c	2014-01-14 15:24:24.000000000 +0100
---- src/version.c	2014-01-14 15:45:34.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     150,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-158. You get a tuner card so you can watch TV while surfing.
-
- /// 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    ///
diff --git a/7.4.151 b/7.4.151
deleted file mode 100644
index 646cc79..0000000
--- a/7.4.151
+++ /dev/null
@@ -1,1470 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.151
-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.151
-Problem:    Python: slices with steps are not supported.
-Solution:   Support slices in Python vim.List. (ZyX)
-Files:	    src/eval.c, src/if_py_both.h, src/if_python3.c, src/if_python.c,
-	    src/proto/eval.pro, src/testdir/test86.in, src/testdir/test86.ok,
-	    src/testdir/test87.in, src/testdir/test87.ok
-
-
-*** ../vim-7.4.150/src/eval.c	2014-01-14 15:24:24.000000000 +0100
---- src/eval.c	2014-01-14 16:24:49.000000000 +0100
-***************
-*** 6425,6430 ****
---- 6425,6440 ----
-      if (ni == NULL)
-  	return FAIL;
-      copy_tv(tv, &ni->li_tv);
-+     list_insert(l, ni, item);
-+     return OK;
-+ }
-+ 
-+     void
-+ list_insert(l, ni, item)
-+     list_T	*l;
-+     listitem_T	*ni;
-+     listitem_T	*item;
-+ {
-      if (item == NULL)
-  	/* Append new item at end of list. */
-  	list_append(l, ni);
-***************
-*** 6446,6452 ****
-  	item->li_prev = ni;
-  	++l->lv_len;
-      }
--     return OK;
-  }
-  
-  /*
---- 6456,6461 ----
-*** ../vim-7.4.150/src/if_py_both.h	2014-01-10 18:16:00.000000000 +0100
---- src/if_py_both.h	2014-01-14 16:31:49.000000000 +0100
-***************
-*** 36,43 ****
-  #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str))
-  #define PyErr_SetVim(str) PyErr_SetString(VimError, str)
-  #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str)
-! #define PyErr_FORMAT(exc, str, tail) PyErr_Format(exc, _(str), tail)
-! #define PyErr_VIM_FORMAT(str, tail) PyErr_FORMAT(VimError, str, tail)
-  
-  #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \
-  	? "(NULL)" \
---- 36,44 ----
-  #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str))
-  #define PyErr_SetVim(str) PyErr_SetString(VimError, str)
-  #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str)
-! #define PyErr_FORMAT(exc, str, arg) PyErr_Format(exc, _(str), arg)
-! #define PyErr_FORMAT2(exc, str, arg1, arg2) PyErr_Format(exc, _(str), arg1,arg2)
-! #define PyErr_VIM_FORMAT(str, arg) PyErr_FORMAT(VimError, str, arg)
-  
-  #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \
-  	? "(NULL)" \
-***************
-*** 2108,2115 ****
-  };
-  
-  static PyTypeObject ListType;
-- static PySequenceMethods ListAsSeq;
-- static PyMappingMethods ListAsMapping;
-  
-  typedef struct
-  {
---- 2109,2114 ----
-***************
-*** 2253,2259 ****
-  }
-  
-      static PyObject *
-! ListItem(ListObject *self, Py_ssize_t index)
-  {
-      listitem_T	*li;
-  
---- 2252,2258 ----
-  }
-  
-      static PyObject *
-! ListIndex(ListObject *self, Py_ssize_t index)
-  {
-      listitem_T	*li;
-  
-***************
-*** 2273,2436 ****
-      return ConvertToPyObject(&li->li_tv);
-  }
-  
-- #define PROC_RANGE \
--     if (last < 0) {\
-- 	if (last < -size) \
-- 	    last = 0; \
-- 	else \
-- 	    last += size; \
--     } \
--     if (first < 0) \
-- 	first = 0; \
--     if (first > size) \
-- 	first = size; \
--     if (last > size) \
-- 	last = size;
-- 
-      static PyObject *
-! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last)
-  {
-      PyInt	i;
--     PyInt	size = ListLength(self);
--     PyInt	n;
-      PyObject	*list;
--     int		reversed = 0;
-  
-!     PROC_RANGE
-!     if (first >= last)
-! 	first = last;
-  
-!     n = last-first;
-!     list = PyList_New(n);
-      if (list == NULL)
-  	return NULL;
-  
-!     for (i = 0; i < n; ++i)
-      {
-! 	PyObject	*item = ListItem(self, first + i);
-  	if (item == NULL)
-  	{
-  	    Py_DECREF(list);
-  	    return NULL;
-  	}
-  
-! 	PyList_SET_ITEM(list, ((reversed)?(n-i-1):(i)), item);
-      }
-  
-      return list;
-  }
-  
-- typedef struct
-- {
--     listwatch_T	lw;
--     list_T	*list;
-- } listiterinfo_T;
-- 
--     static void
-- ListIterDestruct(listiterinfo_T *lii)
-- {
--     list_rem_watch(lii->list, &lii->lw);
--     PyMem_Free(lii);
-- }
-- 
-      static PyObject *
-! ListIterNext(listiterinfo_T **lii)
-  {
-!     PyObject	*ret;
-! 
-!     if (!((*lii)->lw.lw_item))
-! 	return NULL;
-! 
-!     if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv))))
-! 	return NULL;
-! 
-!     (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next;
-! 
-!     return ret;
-! }
-! 
-!     static PyObject *
-! ListIter(ListObject *self)
-! {
-!     listiterinfo_T	*lii;
-!     list_T	*l = self->list;
-! 
-!     if (!(lii = PyMem_New(listiterinfo_T, 1)))
-      {
-! 	PyErr_NoMemory();
-! 	return NULL;
-      }
-! 
-!     list_add_watch(l, &lii->lw);
-!     lii->lw.lw_item = l->lv_first;
-!     lii->list = l;
-! 
-!     return IterNew(lii,
-! 	    (destructorfun) ListIterDestruct, (nextfun) ListIterNext,
-! 	    NULL, NULL);
-! }
-! 
-!     static int
-! ListAssItem(ListObject *self, Py_ssize_t index, PyObject *obj)
-! {
-!     typval_T	tv;
-!     list_T	*l = self->list;
-!     listitem_T	*li;
-!     Py_ssize_t	length = ListLength(self);
-! 
-!     if (l->lv_lock)
-      {
-! 	RAISE_LOCKED_LIST;
-! 	return -1;
-      }
-!     if (index > length || (index == length && obj == NULL))
-      {
-! 	PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range"));
-! 	return -1;
-!     }
-  
-!     if (obj == NULL)
-      {
-! 	li = list_find(l, (long) index);
-! 	list_remove(l, li, li);
-! 	clear_tv(&li->li_tv);
-! 	vim_free(li);
-! 	return 0;
-      }
-  
-!     if (ConvertFromPyObject(obj, &tv) == -1)
-! 	return -1;
-! 
-!     if (index == length)
-      {
-! 	if (list_append_tv(l, &tv) == FAIL)
-! 	{
-! 	    clear_tv(&tv);
-! 	    PyErr_SET_VIM(N_("failed to add item to list"));
-! 	    return -1;
-! 	}
-      }
-!     else
-      {
-! 	li = list_find(l, (long) index);
-! 	clear_tv(&li->li_tv);
-! 	copy_tv(&tv, &li->li_tv);
-! 	clear_tv(&tv);
-      }
--     return 0;
-  }
-  
-      static int
-! ListAssSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last, PyObject *obj)
-  {
--     PyInt	size = ListLength(self);
-      PyObject	*iterator;
-      PyObject	*item;
-      listitem_T	*li;
-      listitem_T	*next;
-      typval_T	v;
-      list_T	*l = self->list;
-      PyInt	i;
-  
-      if (l->lv_lock)
-      {
---- 2272,2381 ----
-      return ConvertToPyObject(&li->li_tv);
-  }
-  
-      static PyObject *
-! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t step,
-! 	  Py_ssize_t slicelen)
-  {
-      PyInt	i;
-      PyObject	*list;
-  
-!     if (step == 0)
-!     {
-! 	PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero"));
-! 	return NULL;
-!     }
-  
-!     list = PyList_New(slicelen);
-      if (list == NULL)
-  	return NULL;
-  
-!     for (i = 0; i < slicelen; ++i)
-      {
-! 	PyObject	*item;
-! 
-! 	item = ListIndex(self, first + i*step);
-  	if (item == NULL)
-  	{
-  	    Py_DECREF(list);
-  	    return NULL;
-  	}
-  
-! 	PyList_SET_ITEM(list, i, item);
-      }
-  
-      return list;
-  }
-  
-      static PyObject *
-! ListItem(ListObject *self, PyObject* idx)
-  {
-! #if PY_MAJOR_VERSION < 3
-!     if (PyInt_Check(idx))
-      {
-! 	long _idx = PyInt_AsLong(idx);
-! 	return ListIndex(self, _idx);
-      }
-!     else
-! #endif
-!     if (PyLong_Check(idx))
-      {
-! 	long _idx = PyLong_AsLong(idx);
-! 	return ListIndex(self, _idx);
-      }
-!     else if (PySlice_Check(idx))
-      {
-! 	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx(idx, ListLength(self),
-! 				 &start, &stop, &step, &slicelen) < 0)
-! 	    return NULL;
-! 	return ListSlice(self, start, step, slicelen);
-!     }
-!     else
-      {
-! 	RAISE_INVALID_INDEX_TYPE(idx);
-! 	return NULL;
-      }
-+ }
-  
-!     static void
-! list_restore(Py_ssize_t numadded, Py_ssize_t numreplaced, Py_ssize_t slicelen,
-! 	list_T *l, listitem_T **lis, listitem_T *lastaddedli)
-! {
-!     while (numreplaced--)
-      {
-! 	list_insert(l, lis[numreplaced], lis[slicelen + numreplaced]);
-! 	listitem_remove(l, lis[slicelen + numreplaced]);
-      }
-!     while (numadded--)
-      {
-! 	listitem_T	*next;
-! 
-! 	next = lastaddedli->li_prev;
-! 	listitem_remove(l, lastaddedli);
-! 	lastaddedli = next;
-      }
-  }
-  
-      static int
-! ListAssSlice(ListObject *self, Py_ssize_t first,
-! 	     Py_ssize_t step, Py_ssize_t slicelen, PyObject *obj)
-  {
-      PyObject	*iterator;
-      PyObject	*item;
-      listitem_T	*li;
-+     listitem_T	*lastaddedli = NULL;
-      listitem_T	*next;
-      typval_T	v;
-      list_T	*l = self->list;
-      PyInt	i;
-+     PyInt	j;
-+     PyInt	numreplaced = 0;
-+     PyInt	numadded = 0;
-+     PyInt	size;
-+     listitem_T	**lis;
-+ 
-+     size = ListLength(self);
-  
-      if (l->lv_lock)
-      {
-***************
-*** 2438,2444 ****
-  	return -1;
-      }
-  
-!     PROC_RANGE
-  
-      if (first == size)
-  	li = NULL;
---- 2383,2424 ----
-  	return -1;
-      }
-  
-!     if (step == 0)
-!     {
-! 	PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero"));
-! 	return -1;
-!     }
-! 
-!     if (step != 1 && slicelen == 0)
-!     {
-! 	/* Nothing to do. Only error out if obj has some items. */
-! 	int		ret = 0;
-! 
-! 	if (obj == NULL)
-! 	    return 0;
-! 
-! 	if (!(iterator = PyObject_GetIter(obj)))
-! 	    return -1;
-! 
-! 	if ((item = PyIter_Next(iterator)))
-! 	{
-! 	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater then %d "
-! 			"to extended slice"), 0);
-! 	    Py_DECREF(item);
-! 	    ret = -1;
-! 	}
-! 	Py_DECREF(iterator);
-! 	return ret;
-!     }
-! 
-!     if (obj != NULL)
-! 	/* XXX May allocate zero bytes. */
-! 	if (!(lis = PyMem_New(listitem_T *, slicelen * 2)))
-! 	{
-! 	    PyErr_NoMemory();
-! 	    return -1;
-! 	}
-  
-      if (first == size)
-  	li = NULL;
-***************
-*** 2449,2465 ****
-  	{
-  	    PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"),
-  		    (int)first);
-  	    return -1;
-  	}
-! 	if (last > first)
-  	{
-! 	    i = last - first;
-! 	    while (i-- && li != NULL)
-! 	    {
-! 		next = li->li_next;
-  		listitem_remove(l, li);
-! 		li = next;
-! 	    }
-  	}
-      }
-  
---- 2429,2461 ----
-  	{
-  	    PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"),
-  		    (int)first);
-+ 	    if (obj != NULL)
-+ 		PyMem_Free(lis);
-  	    return -1;
-  	}
-! 	i = slicelen;
-! 	while (i-- && li != NULL)
-  	{
-! 	    j = step;
-! 	    next = li;
-! 	    if (step > 0)
-! 		while (next != NULL && ((next = next->li_next) != NULL) && --j);
-! 	    else
-! 		while (next != NULL && ((next = next->li_prev) != NULL) && ++j);
-! 
-! 	    if (obj == NULL)
-  		listitem_remove(l, li);
-! 	    else
-! 		lis[slicelen - i - 1] = li;
-! 
-! 	    li = next;
-! 	}
-! 	if (li == NULL && i != -1)
-! 	{
-! 	    PyErr_SET_VIM(N_("internal error: not enough list items"));
-! 	    if (obj != NULL)
-! 		PyMem_Free(lis);
-! 	    return -1;
-  	}
-      }
-  
-***************
-*** 2467,2499 ****
-  	return 0;
-  
-      if (!(iterator = PyObject_GetIter(obj)))
-  	return -1;
-  
-      while ((item = PyIter_Next(iterator)))
-      {
-  	if (ConvertFromPyObject(item, &v) == -1)
-  	{
-  	    Py_DECREF(iterator);
-  	    Py_DECREF(item);
-  	    return -1;
-  	}
-  	Py_DECREF(item);
-! 	if (list_insert_tv(l, &v, li) == FAIL)
-  	{
-  	    clear_tv(&v);
-  	    PyErr_SET_VIM(N_("internal error: failed to add item to list"));
-  	    return -1;
-  	}
-  	clear_tv(&v);
-      }
-      Py_DECREF(iterator);
-  
-      if (PyErr_Occurred())
-  	return -1;
-  
-      return 0;
-  }
-  
-      static PyObject *
-  ListConcatInPlace(ListObject *self, PyObject *obj)
-  {
---- 2463,2634 ----
-  	return 0;
-  
-      if (!(iterator = PyObject_GetIter(obj)))
-+     {
-+ 	PyMem_Free(lis);
-  	return -1;
-+     }
-  
-+     i = 0;
-      while ((item = PyIter_Next(iterator)))
-      {
-  	if (ConvertFromPyObject(item, &v) == -1)
-  	{
-  	    Py_DECREF(iterator);
-  	    Py_DECREF(item);
-+ 	    PyMem_Free(lis);
-  	    return -1;
-  	}
-  	Py_DECREF(item);
-! 	if (list_insert_tv(l, &v, numreplaced < slicelen
-! 				    ? lis[numreplaced]
-! 				    : li) == FAIL)
-  	{
-  	    clear_tv(&v);
-  	    PyErr_SET_VIM(N_("internal error: failed to add item to list"));
-+ 	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-+ 	    PyMem_Free(lis);
-  	    return -1;
-  	}
-+ 	if (numreplaced < slicelen)
-+ 	{
-+ 	    lis[slicelen + numreplaced] = lis[numreplaced]->li_prev;
-+ 	    list_remove(l, lis[numreplaced], lis[numreplaced]);
-+ 	    numreplaced++;
-+ 	}
-+ 	else
-+ 	{
-+ 	    if (li)
-+ 		lastaddedli = li->li_prev;
-+ 	    else
-+ 		lastaddedli = l->lv_last;
-+ 	    numadded++;
-+ 	}
-  	clear_tv(&v);
-+ 	if (step != 1 && i >= slicelen)
-+ 	{
-+ 	    Py_DECREF(iterator);
-+ 	    PyErr_FORMAT(PyExc_ValueError,
-+ 		    N_("attempt to assign sequence of size greater then %d "
-+ 			"to extended slice"), slicelen);
-+ 	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-+ 	    PyMem_Free(lis);
-+ 	    return -1;
-+ 	}
-+ 	++i;
-      }
-      Py_DECREF(iterator);
-  
-+     if (step != 1 && i != slicelen)
-+     {
-+ 	PyErr_FORMAT2(PyExc_ValueError,
-+ 		N_("attempt to assign sequence of size %d to extended slice "
-+ 		    "of size %d"), i, slicelen);
-+ 	list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-+ 	PyMem_Free(lis);
-+ 	return -1;
-+     }
-+ 
-      if (PyErr_Occurred())
-+     {
-+ 	list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-+ 	PyMem_Free(lis);
-  	return -1;
-+     }
-+ 
-+     for (i = 0; i < numreplaced; i++)
-+ 	listitem_free(lis[i]);
-+     if (step == 1)
-+ 	for (i = numreplaced; i < slicelen; i++)
-+ 	    listitem_remove(l, lis[i]);
-+ 
-+     PyMem_Free(lis);
-  
-      return 0;
-  }
-  
-+     static int
-+ ListAssIndex(ListObject *self, Py_ssize_t index, PyObject *obj)
-+ {
-+     typval_T	tv;
-+     list_T	*l = self->list;
-+     listitem_T	*li;
-+     Py_ssize_t	length = ListLength(self);
-+ 
-+     if (l->lv_lock)
-+     {
-+ 	RAISE_LOCKED_LIST;
-+ 	return -1;
-+     }
-+     if (index > length || (index == length && obj == NULL))
-+     {
-+ 	PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range"));
-+ 	return -1;
-+     }
-+ 
-+     if (obj == NULL)
-+     {
-+ 	li = list_find(l, (long) index);
-+ 	list_remove(l, li, li);
-+ 	clear_tv(&li->li_tv);
-+ 	vim_free(li);
-+ 	return 0;
-+     }
-+ 
-+     if (ConvertFromPyObject(obj, &tv) == -1)
-+ 	return -1;
-+ 
-+     if (index == length)
-+     {
-+ 	if (list_append_tv(l, &tv) == FAIL)
-+ 	{
-+ 	    clear_tv(&tv);
-+ 	    PyErr_SET_VIM(N_("failed to add item to list"));
-+ 	    return -1;
-+ 	}
-+     }
-+     else
-+     {
-+ 	li = list_find(l, (long) index);
-+ 	clear_tv(&li->li_tv);
-+ 	copy_tv(&tv, &li->li_tv);
-+ 	clear_tv(&tv);
-+     }
-+     return 0;
-+ }
-+ 
-+     static Py_ssize_t
-+ ListAssItem(ListObject *self, PyObject *idx, PyObject *obj)
-+ {
-+ #if PY_MAJOR_VERSION < 3
-+     if (PyInt_Check(idx))
-+     {
-+ 	long _idx = PyInt_AsLong(idx);
-+ 	return ListAssIndex(self, _idx, obj);
-+     }
-+     else
-+ #endif
-+     if (PyLong_Check(idx))
-+     {
-+ 	long _idx = PyLong_AsLong(idx);
-+ 	return ListAssIndex(self, _idx, obj);
-+     }
-+     else if (PySlice_Check(idx))
-+     {
-+ 	Py_ssize_t start, stop, step, slicelen;
-+ 
-+ 	if (PySlice_GetIndicesEx(idx, ListLength(self),
-+ 				 &start, &stop, &step, &slicelen) < 0)
-+ 	    return -1;
-+ 	return ListAssSlice(self, start, step, slicelen,
-+ 		obj);
-+     }
-+     else
-+     {
-+ 	RAISE_INVALID_INDEX_TYPE(idx);
-+ 	return -1;
-+     }
-+ }
-+ 
-      static PyObject *
-  ListConcatInPlace(ListObject *self, PyObject *obj)
-  {
-***************
-*** 2520,2525 ****
---- 2655,2710 ----
-      return (PyObject *)(self);
-  }
-  
-+ typedef struct
-+ {
-+     listwatch_T	lw;
-+     list_T	*list;
-+ } listiterinfo_T;
-+ 
-+     static void
-+ ListIterDestruct(listiterinfo_T *lii)
-+ {
-+     list_rem_watch(lii->list, &lii->lw);
-+     PyMem_Free(lii);
-+ }
-+ 
-+     static PyObject *
-+ ListIterNext(listiterinfo_T **lii)
-+ {
-+     PyObject	*ret;
-+ 
-+     if (!((*lii)->lw.lw_item))
-+ 	return NULL;
-+ 
-+     if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv))))
-+ 	return NULL;
-+ 
-+     (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next;
-+ 
-+     return ret;
-+ }
-+ 
-+     static PyObject *
-+ ListIter(ListObject *self)
-+ {
-+     listiterinfo_T	*lii;
-+     list_T	*l = self->list;
-+ 
-+     if (!(lii = PyMem_New(listiterinfo_T, 1)))
-+     {
-+ 	PyErr_NoMemory();
-+ 	return NULL;
-+     }
-+ 
-+     list_add_watch(l, &lii->lw);
-+     lii->lw.lw_item = l->lv_first;
-+     lii->list = l;
-+ 
-+     return IterNew(lii,
-+ 	    (destructorfun) ListIterDestruct, (nextfun) ListIterNext,
-+ 	    NULL, NULL);
-+ }
-+ 
-  static char *ListAttrs[] = {
-      "locked",
-      NULL
-***************
-*** 2567,2572 ****
---- 2752,2776 ----
-      }
-  }
-  
-+ static PySequenceMethods ListAsSeq = {
-+     (lenfunc)		ListLength,	 /* sq_length,	  len(x)   */
-+     (binaryfunc)	0,		 /* RangeConcat, sq_concat,  x+y   */
-+     0,					 /* RangeRepeat, sq_repeat,  x*n   */
-+     (PyIntArgFunc)	ListIndex,	 /* sq_item,	  x[i]	   */
-+     0,					 /* was_sq_slice,     x[i:j]   */
-+     (PyIntObjArgProc)	ListAssIndex,	 /* sq_as_item,  x[i]=v   */
-+     0,					 /* was_sq_ass_slice, x[i:j]=v */
-+     0,					 /* sq_contains */
-+     (binaryfunc)	ListConcatInPlace,/* sq_inplace_concat */
-+     0,					 /* sq_inplace_repeat */
-+ };
-+ 
-+ static PyMappingMethods ListAsMapping = {
-+     /* mp_length	*/ (lenfunc) ListLength,
-+     /* mp_subscript     */ (binaryfunc) ListItem,
-+     /* mp_ass_subscript */ (objobjargproc) ListAssItem,
-+ };
-+ 
-  static struct PyMethodDef ListMethods[] = {
-      {"extend",	(PyCFunction)ListConcatInPlace,	METH_O,		""},
-      {"__dir__",	(PyCFunction)ListDir,		METH_NOARGS,	""},
-*** ../vim-7.4.150/src/if_python3.c	2013-11-03 00:28:20.000000000 +0100
---- src/if_python3.c	2014-01-14 16:32:40.000000000 +0100
-***************
-*** 97,102 ****
---- 97,105 ----
-  #define Py_ssize_t_fmt "n"
-  #define Py_bytes_fmt "y"
-  
-+ #define PyIntArgFunc	ssizeargfunc
-+ #define PyIntObjArgProc	ssizeobjargproc
-+ 
-  #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
-  
-  # ifndef WIN3264
-***************
-*** 292,298 ****
-  static int (*py3_PyMapping_Check)(PyObject *);
-  static PyObject* (*py3_PyMapping_Keys)(PyObject *);
-  static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
-! 		     Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength);
-  static PyObject* (*py3_PyErr_NoMemory)(void);
-  static void (*py3_Py_Finalize)(void);
-  static void (*py3_PyErr_SetString)(PyObject *, const char *);
---- 295,302 ----
-  static int (*py3_PyMapping_Check)(PyObject *);
-  static PyObject* (*py3_PyMapping_Keys)(PyObject *);
-  static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
-! 		     Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
-! 		     Py_ssize_t *slicelen);
-  static PyObject* (*py3_PyErr_NoMemory)(void);
-  static void (*py3_Py_Finalize)(void);
-  static void (*py3_PyErr_SetString)(PyObject *, const char *);
-***************
-*** 1478,1553 ****
-  /* List object - Definitions
-   */
-  
-- static PySequenceMethods ListAsSeq = {
--     (lenfunc)		ListLength,	 /* sq_length,	  len(x)   */
--     (binaryfunc)	0,		 /* RangeConcat, sq_concat,  x+y   */
--     (ssizeargfunc)	0,		 /* RangeRepeat, sq_repeat,  x*n   */
--     (ssizeargfunc)	ListItem,	 /* sq_item,	  x[i]	   */
--     (void *)		0,		 /* was_sq_slice,     x[i:j]   */
--     (ssizeobjargproc)	ListAssItem,	 /* sq_as_item,  x[i]=v   */
--     (void *)		0,		 /* was_sq_ass_slice, x[i:j]=v */
--     0,					 /* sq_contains */
--     (binaryfunc)	ListConcatInPlace,/* sq_inplace_concat */
--     0,					 /* sq_inplace_repeat */
-- };
-- 
-- static PyObject *ListSubscript(PyObject *, PyObject *);
-- static Py_ssize_t ListAsSubscript(PyObject *, PyObject *, PyObject *);
-- 
-- static PyMappingMethods ListAsMapping = {
--     /* mp_length	*/ (lenfunc) ListLength,
--     /* mp_subscript     */ (binaryfunc) ListSubscript,
--     /* mp_ass_subscript */ (objobjargproc) ListAsSubscript,
-- };
-- 
--     static PyObject *
-- ListSubscript(PyObject *self, PyObject* idx)
-- {
--     if (PyLong_Check(idx))
--     {
-- 	long _idx = PyLong_AsLong(idx);
-- 	return ListItem((ListObject *)(self), _idx);
--     }
--     else if (PySlice_Check(idx))
--     {
-- 	Py_ssize_t start, stop, step, slicelen;
-- 
-- 	if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)),
-- 				 &start, &stop, &step, &slicelen) < 0)
-- 	    return NULL;
-- 	return ListSlice((ListObject *)(self), start, stop);
--     }
--     else
--     {
-- 	RAISE_INVALID_INDEX_TYPE(idx);
-- 	return NULL;
--     }
-- }
-- 
--     static Py_ssize_t
-- ListAsSubscript(PyObject *self, PyObject *idx, PyObject *obj)
-- {
--     if (PyLong_Check(idx))
--     {
-- 	long _idx = PyLong_AsLong(idx);
-- 	return ListAssItem((ListObject *)(self), _idx, obj);
--     }
--     else if (PySlice_Check(idx))
--     {
-- 	Py_ssize_t start, stop, step, slicelen;
-- 
-- 	if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)),
-- 				 &start, &stop, &step, &slicelen) < 0)
-- 	    return -1;
-- 	return ListAssSlice((ListObject *)(self), start, stop, obj);
--     }
--     else
--     {
-- 	RAISE_INVALID_INDEX_TYPE(idx);
-- 	return -1;
--     }
-- }
-- 
-      static PyObject *
-  ListGetattro(PyObject *self, PyObject *nameobj)
-  {
---- 1482,1487 ----
-*** ../vim-7.4.150/src/if_python.c	2013-11-03 00:28:20.000000000 +0100
---- src/if_python.c	2014-01-14 16:24:49.000000000 +0100
-***************
-*** 196,201 ****
---- 196,202 ----
-  # define PyTuple_Size dll_PyTuple_Size
-  # define PyTuple_GetItem dll_PyTuple_GetItem
-  # define PyTuple_Type (*dll_PyTuple_Type)
-+ # define PySlice_GetIndicesEx dll_PySlice_GetIndicesEx
-  # define PyImport_ImportModule dll_PyImport_ImportModule
-  # define PyDict_New dll_PyDict_New
-  # define PyDict_GetItemString dll_PyDict_GetItemString
-***************
-*** 241,246 ****
---- 242,248 ----
-  # define PySys_GetObject dll_PySys_GetObject
-  # define PySys_SetArgv dll_PySys_SetArgv
-  # define PyType_Type (*dll_PyType_Type)
-+ # define PySlice_Type (*dll_PySlice_Type)
-  # define PyType_Ready (*dll_PyType_Ready)
-  # define PyType_GenericAlloc dll_PyType_GenericAlloc
-  # define Py_BuildValue dll_Py_BuildValue
-***************
-*** 341,346 ****
---- 343,351 ----
-  static PyInt(*dll_PyTuple_Size)(PyObject *);
-  static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt);
-  static PyTypeObject* dll_PyTuple_Type;
-+ static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length,
-+ 		     PyInt *start, PyInt *stop, PyInt *step,
-+ 		     PyInt *slicelen);
-  static PyObject*(*dll_PyImport_ImportModule)(const char *);
-  static PyObject*(*dll_PyDict_New)(void);
-  static PyObject*(*dll_PyDict_GetItemString)(PyObject *, const char *);
-***************
-*** 382,387 ****
---- 387,393 ----
-  static PyObject *(*dll_PySys_GetObject)(char *);
-  static int(*dll_PySys_SetArgv)(int, char **);
-  static PyTypeObject* dll_PyType_Type;
-+ static PyTypeObject* dll_PySlice_Type;
-  static int (*dll_PyType_Ready)(PyTypeObject *type);
-  static PyObject* (*dll_PyType_GenericAlloc)(PyTypeObject *type, PyInt nitems);
-  static PyObject*(*dll_Py_BuildValue)(char *, ...);
-***************
-*** 521,526 ****
---- 527,533 ----
-      {"PyTuple_GetItem", (PYTHON_PROC*)&dll_PyTuple_GetItem},
-      {"PyTuple_Size", (PYTHON_PROC*)&dll_PyTuple_Size},
-      {"PyTuple_Type", (PYTHON_PROC*)&dll_PyTuple_Type},
-+     {"PySlice_GetIndicesEx", (PYTHON_PROC*)&dll_PySlice_GetIndicesEx},
-      {"PyImport_ImportModule", (PYTHON_PROC*)&dll_PyImport_ImportModule},
-      {"PyDict_GetItemString", (PYTHON_PROC*)&dll_PyDict_GetItemString},
-      {"PyDict_Next", (PYTHON_PROC*)&dll_PyDict_Next},
-***************
-*** 562,567 ****
---- 569,575 ----
-      {"PySys_GetObject", (PYTHON_PROC*)&dll_PySys_GetObject},
-      {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
-      {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
-+     {"PySlice_Type", (PYTHON_PROC*)&dll_PySlice_Type},
-      {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
-      {"PyType_GenericAlloc", (PYTHON_PROC*)&dll_PyType_GenericAlloc},
-      {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
-***************
-*** 1472,1492 ****
-      return Py_FindMethod(DictionaryMethods, self, name);
-  }
-  
-- static PySequenceMethods ListAsSeq = {
--     (PyInquiry)			ListLength,
--     (binaryfunc)		0,
--     (PyIntArgFunc)		0,
--     (PyIntArgFunc)		ListItem,
--     (PyIntIntArgFunc)		ListSlice,
--     (PyIntObjArgProc)		ListAssItem,
--     (PyIntIntObjArgProc)	ListAssSlice,
--     (objobjproc)		0,
-- #if PY_MAJOR_VERSION >= 2
--     (binaryfunc)		ListConcatInPlace,
--     0,
-- #endif
-- };
-- 
-      static PyObject *
-  ListGetattr(PyObject *self, char *name)
-  {
---- 1480,1485 ----
-*** ../vim-7.4.150/src/proto/eval.pro	2013-08-10 13:37:09.000000000 +0200
---- src/proto/eval.pro	2014-01-14 16:24:49.000000000 +0100
-***************
-*** 60,65 ****
---- 60,66 ----
-  int list_append_string __ARGS((list_T *l, char_u *str, int len));
-  int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
-  void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
-+ void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
-  int garbage_collect __ARGS((void));
-  void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
-  void set_ref_in_list __ARGS((list_T *l, int copyID));
-*** ../vim-7.4.150/src/testdir/test86.in	2013-11-28 17:04:38.000000000 +0100
---- src/testdir/test86.in	2014-01-14 16:24:49.000000000 +0100
-***************
-*** 135,140 ****
---- 135,152 ----
-  :py l=vim.bindeval('l')
-  :py del l[-6:2]
-  :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[::2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[3:0:-2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[2:4:-2]
-+ :$put =string(l)
-  :"
-  :" Slice assignment to a list
-  :let l = [0, 1, 2, 3]
-***************
-*** 169,174 ****
---- 181,206 ----
-  :py l=vim.bindeval('l')
-  :py l[0:0]=['h']
-  :$put =string(l)
-+ :let l = range(8)
-+ :py l=vim.bindeval('l')
-+ :py l[2:6:2] = [10, 20]
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py l=vim.bindeval('l')
-+ :py l[6:2:-2] = [10, 20]
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py l=vim.bindeval('l')
-+ :py l[6:2] = ()
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py l=vim.bindeval('l')
-+ :py l[6:2:1] = ()
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py l=vim.bindeval('l')
-+ :py l[2:2:1] = ()
-+ :$put =string(l)
-  :"
-  :" Locked variables
-  :let l = [0, 1, 2, 3]
-***************
-*** 390,395 ****
---- 422,434 ----
-  :$put =string(pyeval('l'))
-  :py l = ll[-10:10]
-  :$put =string(pyeval('l'))
-+ :py l = ll[4:2:-1]
-+ :$put =string(pyeval('l'))
-+ :py l = ll[::2]
-+ :$put =string(pyeval('l'))
-+ :py l = ll[4:2:1]
-+ :$put =string(pyeval('l'))
-+ :py del l
-  :"
-  :" Vars
-  :let g:foo = 'bac'
-***************
-*** 907,912 ****
---- 946,952 ----
-  l = vim.List()
-  ll = vim.List('abcE')
-  ll.locked = True
-+ nel = vim.List('abcO')
-  f = vim.Function('string')
-  fd = vim.Function('F')
-  fdel = vim.Function('D')
-***************
-*** 994,999 ****
---- 1034,1053 ----
-      def next(self):
-          raise NotImplementedError('next')
-  
-+ class FailingIterNextN(object):
-+     def __init__(self, n):
-+         self.n = n
-+ 
-+     def __iter__(self):
-+         return self
-+ 
-+     def next(self):
-+         if self.n:
-+             self.n -= 1
-+             return 1
-+         else:
-+             raise NotImplementedError('next N')
-+ 
-  class FailingMappingKey(object):
-      def __getitem__(self, item):
-          raise NotImplementedError('getitem:mappingkey')
-***************
-*** 1098,1103 ****
---- 1152,1158 ----
-  cb.append(">>> iter")
-  ee('d.update(FailingMapping())')
-  ee('d.update([FailingIterNext()])')
-+ ee('d.update([FailingIterNextN(1)])')
-  iter_test('d.update(%s)')
-  convertfrompyobject_test('d.update(%s)')
-  stringtochars_test('d.update(((%s, 0),))')
-***************
-*** 1120,1125 ****
---- 1175,1188 ----
-  cb.append(">> ListAssSlice")
-  ee('ll[1:100] = "abcJ"')
-  iter_test('l[:] = %s')
-+ ee('nel[1:10:2]  = "abcK"')
-+ cb.append(repr(tuple(nel)))
-+ ee('nel[1:10:2]  = "a"')
-+ cb.append(repr(tuple(nel)))
-+ ee('nel[1:1:-1]  = "a"')
-+ cb.append(repr(tuple(nel)))
-+ ee('nel[:] = FailingIterNextN(2)')
-+ cb.append(repr(tuple(nel)))
-  convertfrompyobject_test('l[:] = [%s]')
-  cb.append(">> ListConcatInPlace")
-  iter_test('l.extend(%s)')
-***************
-*** 1201,1206 ****
---- 1264,1270 ----
-  del dl
-  del l
-  del ll
-+ del nel
-  del f
-  del fd
-  del fdel
-***************
-*** 1214,1219 ****
---- 1278,1284 ----
-  del FailingTrue
-  del FailingIter
-  del FailingIterNext
-+ del FailingIterNextN
-  del FailingMapping
-  del FailingMappingKey
-  del FailingList
-*** ../vim-7.4.150/src/testdir/test86.ok	2013-11-28 17:04:38.000000000 +0100
---- src/testdir/test86.ok	2014-01-14 16:24:49.000000000 +0100
-***************
-*** 41,46 ****
---- 41,49 ----
-  [2, 3]
-  [2, 3]
-  [2, 3]
-+ [1, 3]
-+ [0, 2]
-+ [0, 1, 2, 3]
-  ['a', 0, 1, 2, 3]
-  [0, 'b', 2, 3]
-  [0, 1, 'c']
-***************
-*** 49,54 ****
---- 52,62 ----
-  ['f', 2, 3]
-  [0, 1, 'g', 2, 3]
-  ['h']
-+ [0, 1, 10, 3, 20, 5, 6, 7]
-+ [0, 1, 2, 3, 20, 5, 10, 7]
-+ [0, 1, 2, 3, 4, 5, 6, 7]
-+ [0, 1, 2, 3, 4, 5, 6, 7]
-+ [0, 1, 2, 3, 4, 5, 6, 7]
-  [0, 1, 2, 3]
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-***************
-*** 96,101 ****
---- 104,112 ----
-  [0, 1, 2, 3, 4, 5]
-  [0, 1, 2, 3, 4, 5]
-  [0, 1, 2, 3, 4, 5]
-+ [4, 3]
-+ [0, 2, 4]
-+ []
-  Abc
-  bac
-  def
-***************
-*** 599,604 ****
---- 610,616 ----
-  >>> iter
-  d.update(FailingMapping()):NotImplementedError:('keys',)
-  d.update([FailingIterNext()]):NotImplementedError:('next',)
-+ d.update([FailingIterNextN(1)]):NotImplementedError:('next N',)
-  >>> Testing *Iter* using d.update(%s)
-  d.update(FailingIter()):NotImplementedError:('iter',)
-  d.update(FailingIterNext()):NotImplementedError:('next',)
-***************
-*** 829,834 ****
---- 841,854 ----
-  l[:] = FailingIter():NotImplementedError:('iter',)
-  l[:] = FailingIterNext():NotImplementedError:('next',)
-  <<< Finished
-+ nel[1:10:2]  = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',)
-+ ('a', 'b', 'c', 'O')
-+ nel[1:10:2]  = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
-+ ('a', 'b', 'c', 'O')
-+ nel[1:1:-1]  = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',)
-+ ('a', 'b', 'c', 'O')
-+ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
-+ ('a', 'b', 'c', 'O')
-  >>> Testing StringToChars using l[:] = [{%s : 1}]
-  l[:] = [{1 : 1}]:TypeError:('expected str() or unicode() instance, but got int',)
-  l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',)
-*** ../vim-7.4.150/src/testdir/test87.in	2013-11-28 17:04:38.000000000 +0100
---- src/testdir/test87.in	2014-01-14 16:24:49.000000000 +0100
-***************
-*** 128,133 ****
---- 128,145 ----
-  :py3 l=vim.bindeval('l')
-  :py3 del l[-6:2]
-  :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[::2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[3:0:-2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[2:4:-2]
-+ :$put =string(l)
-  :"
-  :" Slice assignment to a list
-  :let l = [0, 1, 2, 3]
-***************
-*** 162,167 ****
---- 174,199 ----
-  :py3 l=vim.bindeval('l')
-  :py3 l[0:0]=['h']
-  :$put =string(l)
-+ :let l = range(8)
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[2:6:2] = [10, 20]
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[6:2:-2] = [10, 20]
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[6:2] = ()
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[6:2:1] = ()
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[2:2:1] = ()
-+ :$put =string(l)
-  :"
-  :" Locked variables
-  :let l = [0, 1, 2, 3]
-***************
-*** 363,368 ****
---- 395,432 ----
-  :py3 del trace_main
-  :$put =string(l)
-  :"
-+ :" Slice
-+ :py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')
-+ :py3 l = ll[:4]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[2:]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[:-4]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[-2:]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[2:4]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[4:2]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[-4:-2]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[-2:-4]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[:]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[0:6]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[-10:10]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[4:2:-1]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[::2]
-+ :$put =string(py3eval('l'))
-+ :py3 l = ll[4:2:1]
-+ :$put =string(py3eval('l'))
-+ :py3 del l
-+ :"
-  :" Vars
-  :let g:foo = 'bac'
-  :let w:abc3 = 'def'
-***************
-*** 859,864 ****
---- 923,929 ----
-  l = vim.List()
-  ll = vim.List('abcE')
-  ll.locked = True
-+ nel = vim.List('abcO')
-  f = vim.Function('string')
-  fd = vim.Function('F')
-  fdel = vim.Function('D')
-***************
-*** 946,951 ****
---- 1011,1030 ----
-      def __next__(self):
-          raise NotImplementedError('next')
-  
-+ class FailingIterNextN(object):
-+     def __init__(self, n):
-+         self.n = n
-+ 
-+     def __iter__(self):
-+         return self
-+ 
-+     def __next__(self):
-+         if self.n:
-+             self.n -= 1
-+             return 1
-+         else:
-+             raise NotImplementedError('next N')
-+ 
-  class FailingMappingKey(object):
-      def __getitem__(self, item):
-          raise NotImplementedError('getitem:mappingkey')
-***************
-*** 1050,1055 ****
---- 1129,1135 ----
-  cb.append(">>> iter")
-  ee('d.update(FailingMapping())')
-  ee('d.update([FailingIterNext()])')
-+ ee('d.update([FailingIterNextN(1)])')
-  iter_test('d.update(%s)')
-  convertfrompyobject_test('d.update(%s)')
-  stringtochars_test('d.update(((%s, 0),))')
-***************
-*** 1072,1077 ****
---- 1152,1165 ----
-  cb.append(">> ListAssSlice")
-  ee('ll[1:100] = "abcJ"')
-  iter_test('l[:] = %s')
-+ ee('nel[1:10:2]  = "abcK"')
-+ cb.append(repr(tuple(nel)))
-+ ee('nel[1:10:2]  = "a"')
-+ cb.append(repr(tuple(nel)))
-+ ee('nel[1:1:-1]  = "a"')
-+ cb.append(repr(tuple(nel)))
-+ ee('nel[:] = FailingIterNextN(2)')
-+ cb.append(repr(tuple(nel)))
-  convertfrompyobject_test('l[:] = [%s]')
-  cb.append(">> ListConcatInPlace")
-  iter_test('l.extend(%s)')
-***************
-*** 1153,1158 ****
---- 1241,1247 ----
-  del dl
-  del l
-  del ll
-+ del nel
-  del f
-  del fd
-  del fdel
-***************
-*** 1166,1171 ****
---- 1255,1261 ----
-  del FailingTrue
-  del FailingIter
-  del FailingIterNext
-+ del FailingIterNextN
-  del FailingMapping
-  del FailingMappingKey
-  del FailingList
-*** ../vim-7.4.150/src/testdir/test87.ok	2013-11-28 17:04:38.000000000 +0100
---- src/testdir/test87.ok	2014-01-14 16:24:49.000000000 +0100
-***************
-*** 41,46 ****
---- 41,49 ----
-  [2, 3]
-  [2, 3]
-  [2, 3]
-+ [1, 3]
-+ [0, 2]
-+ [0, 1, 2, 3]
-  ['a', 0, 1, 2, 3]
-  [0, 'b', 2, 3]
-  [0, 1, 'c']
-***************
-*** 49,54 ****
---- 52,62 ----
-  ['f', 2, 3]
-  [0, 1, 'g', 2, 3]
-  ['h']
-+ [0, 1, 10, 3, 20, 5, 6, 7]
-+ [0, 1, 2, 3, 20, 5, 10, 7]
-+ [0, 1, 2, 3, 4, 5, 6, 7]
-+ [0, 1, 2, 3, 4, 5, 6, 7]
-+ [0, 1, 2, 3, 4, 5, 6, 7]
-  [0, 1, 2, 3]
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-  [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-***************
-*** 85,90 ****
---- 93,112 ----
-  vim:	Vim(let):E859:
-  [1]
-  [1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
-+ [0, 1, 2, 3]
-+ [2, 3, 4, 5]
-+ [0, 1]
-+ [4, 5]
-+ [2, 3]
-+ []
-+ [2, 3]
-+ []
-+ [0, 1, 2, 3, 4, 5]
-+ [0, 1, 2, 3, 4, 5]
-+ [0, 1, 2, 3, 4, 5]
-+ [4, 3]
-+ [0, 2, 4]
-+ []
-  Abc
-  bac
-  def
-***************
-*** 588,593 ****
---- 610,616 ----
-  >>> iter
-  d.update(FailingMapping()):(<class 'NotImplementedError'>, NotImplementedError('keys',))
-  d.update([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError('next',))
-+ d.update([FailingIterNextN(1)]):(<class 'NotImplementedError'>, NotImplementedError('next N',))
-  >>> Testing *Iter* using d.update(%s)
-  d.update(FailingIter()):(<class 'NotImplementedError'>, NotImplementedError('iter',))
-  d.update(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError('next',))
-***************
-*** 818,823 ****
---- 841,854 ----
-  l[:] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError('iter',))
-  l[:] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError('next',))
-  <<< Finished
-+ nel[1:10:2]  = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 2 to extended slice',))
-+ (b'a', b'b', b'c', b'O')
-+ nel[1:10:2]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',))
-+ (b'a', b'b', b'c', b'O')
-+ nel[1:1:-1]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 0 to extended slice',))
-+ (b'a', b'b', b'c', b'O')
-+ nel[:] = FailingIterNextN(2):(<class 'NotImplementedError'>, NotImplementedError('next N',))
-+ (b'a', b'b', b'c', b'O')
-  >>> Testing StringToChars using l[:] = [{%s : 1}]
-  l[:] = [{1 : 1}]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
-  l[:] = [{b"\0" : 1}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
-*** ../vim-7.4.150/src/version.c	2014-01-14 15:53:47.000000000 +0100
---- src/version.c	2014-01-14 16:27:01.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     151,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-159. You get excited whenever discussing your hard drive.
-
- /// 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    ///
diff --git a/7.4.152 b/7.4.152
deleted file mode 100644
index 6e54ddb..0000000
--- a/7.4.152
+++ /dev/null
@@ -1,708 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.152
-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.152
-Problem:    Python: Cannot iterate over options.
-Solution:   Add options iterator. (ZyX)
-Files:	    src/if_py_both.h, src/option.c, src/proto/option.pro,
-	    src/testdir/test86.in, src/testdir/test86.ok,
-	    src/testdir/test87.in, src/testdir/test87.ok, src/vim.h
-
-
-*** ../vim-7.4.151/src/if_py_both.h	2014-01-14 16:36:40.000000000 +0100
---- src/if_py_both.h	2014-01-14 16:51:30.000000000 +0100
-***************
-*** 2949,2958 ****
-  typedef struct
-  {
-      PyObject_HEAD
-!     int opt_type;
-!     void *from;
-!     checkfun Check;
-!     PyObject *fromObj;
-  } OptionsObject;
-  
-      static int
---- 2949,2958 ----
-  typedef struct
-  {
-      PyObject_HEAD
-!     int		opt_type;
-!     void	*from;
-!     checkfun	Check;
-!     PyObject	*fromObj;
-  } OptionsObject;
-  
-      static int
-***************
-*** 3072,3077 ****
---- 3072,3140 ----
-  }
-  
-      static int
-+ OptionsContains(OptionsObject *self, PyObject *keyObject)
-+ {
-+     char_u	*key;
-+     PyObject	*todecref;
-+ 
-+     if (!(key = StringToChars(keyObject, &todecref)))
-+ 	return -1;
-+ 
-+     if (*key == NUL)
-+     {
-+ 	Py_XDECREF(todecref);
-+ 	return 0;
-+     }
-+ 
-+     if (get_option_value_strict(key, NULL, NULL, self->opt_type, NULL))
-+     {
-+ 	Py_XDECREF(todecref);
-+ 	return 1;
-+     }
-+     else
-+     {
-+ 	Py_XDECREF(todecref);
-+ 	return 0;
-+     }
-+ }
-+ 
-+ typedef struct
-+ {
-+     void	*lastoption;
-+     int		opt_type;
-+ } optiterinfo_T;
-+ 
-+     static PyObject *
-+ OptionsIterNext(optiterinfo_T **oii)
-+ {
-+     char_u	*name;
-+ 
-+     if ((name = option_iter_next(&((*oii)->lastoption), (*oii)->opt_type)))
-+ 	return PyString_FromString((char *)name);
-+ 
-+     return NULL;
-+ }
-+ 
-+     static PyObject *
-+ OptionsIter(OptionsObject *self)
-+ {
-+     optiterinfo_T	*oii;
-+ 
-+     if (!(oii = PyMem_New(optiterinfo_T, 1)))
-+     {
-+ 	PyErr_NoMemory();
-+ 	return NULL;
-+     }
-+ 
-+     oii->opt_type = self->opt_type;
-+     oii->lastoption = NULL;
-+ 
-+     return IterNew(oii,
-+ 	    (destructorfun) PyMem_Free, (nextfun) OptionsIterNext,
-+ 	    NULL, NULL);
-+ }
-+ 
-+     static int
-  set_option_value_err(char_u *key, int numval, char_u *stringval, int opt_flags)
-  {
-      char_u	*errmsg;
-***************
-*** 3231,3236 ****
---- 3294,3312 ----
-      return ret;
-  }
-  
-+ static PySequenceMethods OptionsAsSeq = {
-+     0,					/* sq_length */
-+     0,					/* sq_concat */
-+     0,					/* sq_repeat */
-+     0,					/* sq_item */
-+     0,					/* sq_slice */
-+     0,					/* sq_ass_item */
-+     0,					/* sq_ass_slice */
-+     (objobjproc) OptionsContains,	/* sq_contains */
-+     0,					/* sq_inplace_concat */
-+     0,					/* sq_inplace_repeat */
-+ };
-+ 
-  static PyMappingMethods OptionsAsMapping = {
-      (lenfunc)       NULL,
-      (binaryfunc)    OptionsItem,
-***************
-*** 6121,6128 ****
---- 6197,6206 ----
-      vim_memset(&OptionsType, 0, sizeof(OptionsType));
-      OptionsType.tp_name = "vim.options";
-      OptionsType.tp_basicsize = sizeof(OptionsObject);
-+     OptionsType.tp_as_sequence = &OptionsAsSeq;
-      OptionsType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
-      OptionsType.tp_doc = "object for manipulating options";
-+     OptionsType.tp_iter = (getiterfunc)OptionsIter;
-      OptionsType.tp_as_mapping = &OptionsAsMapping;
-      OptionsType.tp_dealloc = (destructor)OptionsDestructor;
-      OptionsType.tp_traverse = (traverseproc)OptionsTraverse;
-*** ../vim-7.4.151/src/option.c	2013-11-12 04:43:57.000000000 +0100
---- src/option.c	2014-01-14 16:50:52.000000000 +0100
-***************
-*** 8861,8867 ****
-  }
-  #endif
-  
-! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
-  /*
-   * Returns the option attributes and its value. Unlike the above function it
-   * will return either global value or local value of the option depending on
---- 8861,8867 ----
-  }
-  #endif
-  
-! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO)
-  /*
-   * Returns the option attributes and its value. Unlike the above function it
-   * will return either global value or local value of the option depending on
-***************
-*** 8874,8880 ****
-   * opt_type). Uses
-   *
-   * Returned flags:
-!  *       0 hidden or unknown option
-   *  see SOPT_* in vim.h for other flags
-   *
-   * Possible opt_type values: see SREQ_* in vim.h
---- 8874,8881 ----
-   * opt_type). Uses
-   *
-   * Returned flags:
-!  *       0 hidden or unknown option, also option that does not have requested 
-!  *         type (see SREQ_* in vim.h)
-   *  see SOPT_* in vim.h for other flags
-   *
-   * Possible opt_type values: see SREQ_* in vim.h
-***************
-*** 8997,9002 ****
---- 8998,9065 ----
-  
-      return r;
-  }
-+ 
-+ /*
-+  * Iterate over options. First argument is a pointer to a pointer to a structure 
-+  * inside options[] array, second is option type like in the above function.
-+  *
-+  * If first argument points to NULL it is assumed that iteration just started 
-+  * and caller needs the very first value.
-+  * If first argument points to the end marker function returns NULL and sets 
-+  * first argument to NULL.
-+  *
-+  * Returns full option name for current option on each call.
-+  */
-+     char_u *
-+ option_iter_next(option, opt_type)
-+     void	**option;
-+     int		opt_type;
-+ {
-+     struct vimoption	*ret = NULL;
-+     do
-+     {
-+ 	if (*option == NULL)
-+ 	    *option = (void *) options;
-+ 	else if (((struct vimoption *) (*option))->fullname == NULL)
-+ 	{
-+ 	    *option = NULL;
-+ 	    return NULL;
-+ 	}
-+ 	else
-+ 	    *option = (void *) (((struct vimoption *) (*option)) + 1);
-+ 
-+ 	ret = ((struct vimoption *) (*option));
-+ 
-+ 	/* Hidden option */
-+ 	if (ret->var == NULL)
-+ 	{
-+ 	    ret = NULL;
-+ 	    continue;
-+ 	}
-+ 
-+ 	switch (opt_type)
-+ 	{
-+ 	    case SREQ_GLOBAL:
-+ 		if (!(ret->indir == PV_NONE || ret->indir & PV_BOTH))
-+ 		    ret = NULL;
-+ 		break;
-+ 	    case SREQ_BUF:
-+ 		if (!(ret->indir & PV_BUF))
-+ 		    ret = NULL;
-+ 		break;
-+ 	    case SREQ_WIN:
-+ 		if (!(ret->indir & PV_WIN))
-+ 		    ret = NULL;
-+ 		break;
-+ 	    default:
-+ 		EMSG2(_(e_intern2), "option_iter_next()");
-+ 		return NULL;
-+ 	}
-+     }
-+     while (ret == NULL);
-+ 
-+     return (char_u *)ret->fullname;
-+ }
-  #endif
-  
-  /*
-*** ../vim-7.4.151/src/proto/option.pro	2013-11-05 07:12:59.000000000 +0100
---- src/proto/option.pro	2014-01-14 16:51:41.000000000 +0100
-***************
-*** 23,28 ****
---- 23,29 ----
-  char_u *check_stl_option __ARGS((char_u *s));
-  int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
-  int get_option_value_strict __ARGS((char_u *name, long *numval, char_u **stringval, int opt_type, void *from));
-+ char_u *option_iter_next __ARGS((void **option, int opt_type));
-  char_u *set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
-  char_u *get_term_code __ARGS((char_u *tname));
-  char_u *get_highlight_default __ARGS((void));
-*** ../vim-7.4.151/src/testdir/test86.in	2014-01-14 16:36:40.000000000 +0100
---- src/testdir/test86.in	2014-01-14 16:49:10.000000000 +0100
-***************
-*** 506,511 ****
---- 506,516 ----
-  :py bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
-  :py bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
-  :py bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
-+ :$put ='wopts iters equal: '.pyeval('list(wopts1) == list(wopts2)')
-+ :$put ='bopts iters equal: '.pyeval('list(bopts1) == list(bopts2)')
-+ :py gset=set(iter(gopts1))
-+ :py wset=set(iter(wopts1))
-+ :py bset=set(iter(bopts1))
-  :set path=.,..,,
-  :let lst=[]
-  :let lst+=[['paste',          1,     0,     1,     2,      1,    1,      0    ]]
-***************
-*** 536,541 ****
---- 541,548 ----
-  :       py oval3=bool(oval3)
-  :   endif
-  :   put ='>>> '.oname
-+ :   $put ='  g/w/b:'.pyeval('oname in gset').'/'.pyeval('oname in wset').'/'.pyeval('oname in bset')
-+ :   $put ='  g/w/b (in):'.pyeval('oname in gopts1').'/'.pyeval('oname in wopts1').'/'.pyeval('oname in bopts1')
-  :   for v in ['gopts1', 'wopts1', 'bopts1']
-  :       try
-  :           put ='  p/'.v.': '.Ev('repr('.v.'['''.oname.'''])')
-***************
-*** 1122,1127 ****
---- 1129,1141 ----
-  ee('import failing')
-  vim.options['rtp'] = old_rtp
-  del old_rtp
-+ cb.append("> Options")
-+ cb.append(">> OptionsItem")
-+ ee('vim.options["abcQ"]')
-+ ee('vim.options[""]')
-+ stringtochars_test('vim.options[%s]')
-+ cb.append(">> OptionsContains")
-+ stringtochars_test('%s in vim.options')
-  cb.append("> Dictionary")
-  cb.append(">> DictionaryConstructor")
-  ee('vim.Dictionary("abcI")')
-*** ../vim-7.4.151/src/testdir/test86.ok	2014-01-14 16:36:40.000000000 +0100
---- src/testdir/test86.ok	2014-01-14 16:49:10.000000000 +0100
-***************
-*** 112,118 ****
---- 112,122 ----
-  def
-  bar
-  jkl
-+ wopts iters equal: 1
-+ bopts iters equal: 1
-  >>> paste
-+   g/w/b:1/0/0
-+   g/w/b (in):1/0/0
-    p/gopts1: False
-    p/wopts1! KeyError
-    inv: 2! KeyError
-***************
-*** 133,138 ****
---- 137,144 ----
-    W: 1:1 2:1 3:1 4:1
-    B: 1:1 2:1 3:1 4:1
-  >>> previewheight
-+   g/w/b:1/0/0
-+   g/w/b (in):1/0/0
-    p/gopts1: 12
-    inv: 'a'! TypeError
-    p/wopts1! KeyError
-***************
-*** 154,159 ****
---- 160,167 ----
-    W: 1:5 2:5 3:5 4:5
-    B: 1:5 2:5 3:5 4:5
-  >>> operatorfunc
-+   g/w/b:1/0/0
-+   g/w/b (in):1/0/0
-    p/gopts1: ''
-    inv: 2! TypeError
-    p/wopts1! KeyError
-***************
-*** 175,180 ****
---- 183,190 ----
-    W: 1:'A' 2:'A' 3:'A' 4:'A'
-    B: 1:'A' 2:'A' 3:'A' 4:'A'
-  >>> number
-+   g/w/b:0/1/0
-+   g/w/b (in):0/1/0
-    p/gopts1! KeyError
-    inv: 0! KeyError
-    gopts1! KeyError
-***************
-*** 193,198 ****
---- 203,210 ----
-    W: 1:1 2:1 3:0 4:0
-    B: 1:1 2:1 3:0 4:0
-  >>> numberwidth
-+   g/w/b:0/1/0
-+   g/w/b (in):0/1/0
-    p/gopts1! KeyError
-    inv: -100! KeyError
-    gopts1! KeyError
-***************
-*** 212,217 ****
---- 224,231 ----
-    W: 1:3 2:5 3:2 4:8
-    B: 1:3 2:5 3:2 4:8
-  >>> colorcolumn
-+   g/w/b:0/1/0
-+   g/w/b (in):0/1/0
-    p/gopts1! KeyError
-    inv: 'abc4'! KeyError
-    gopts1! KeyError
-***************
-*** 231,236 ****
---- 245,252 ----
-    W: 1:'+2' 2:'+3' 3:'+1' 4:''
-    B: 1:'+2' 2:'+3' 3:'+1' 4:''
-  >>> statusline
-+   g/w/b:1/1/0
-+   g/w/b (in):1/1/0
-    p/gopts1: ''
-    inv: 0! TypeError
-    p/wopts1: None
-***************
-*** 248,253 ****
---- 264,271 ----
-    W: 1:'2' 2:'1' 3:'1' 4:'1'
-    B: 1:'2' 2:'1' 3:'1' 4:'1'
-  >>> autoindent
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 2! KeyError
-    gopts1! KeyError
-***************
-*** 266,271 ****
---- 284,291 ----
-    W: 1:0 2:1 3:0 4:1
-    B: 1:0 2:1 3:0 4:1
-  >>> shiftwidth
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 3! KeyError
-    gopts1! KeyError
-***************
-*** 284,289 ****
---- 304,311 ----
-    W: 1:0 2:2 3:8 4:1
-    B: 1:0 2:2 3:8 4:1
-  >>> omnifunc
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 1! KeyError
-    gopts1! KeyError
-***************
-*** 303,308 ****
---- 325,332 ----
-    W: 1:'A' 2:'B' 3:'' 4:'C'
-    B: 1:'A' 2:'B' 3:'' 4:'C'
-  >>> preserveindent
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 2! KeyError
-    gopts1! KeyError
-***************
-*** 321,326 ****
---- 345,352 ----
-    W: 1:0 2:1 3:0 4:1
-    B: 1:0 2:1 3:0 4:1
-  >>> path
-+   g/w/b:1/0/1
-+   g/w/b (in):1/0/1
-    p/gopts1: '.,..,,'
-    inv: 0! TypeError
-    p/wopts1! KeyError
-***************
-*** 509,514 ****
---- 535,555 ----
-  import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',)
-  import failing_import:ImportError:('No module named failing_import',)
-  import failing:NotImplementedError:()
-+ > Options
-+ >> OptionsItem
-+ vim.options["abcQ"]:KeyError:('abcQ',)
-+ vim.options[""]:ValueError:('empty keys are not allowed',)
-+ >>> Testing StringToChars using vim.options[%s]
-+ vim.options[1]:TypeError:('expected str() or unicode() instance, but got int',)
-+ vim.options[u"\0"]:TypeError:('expected string without null bytes',)
-+ vim.options["\0"]:TypeError:('expected string without null bytes',)
-+ <<< Finished
-+ >> OptionsContains
-+ >>> Testing StringToChars using %s in vim.options
-+ 1 in vim.options:TypeError:('expected str() or unicode() instance, but got int',)
-+ u"\0" in vim.options:TypeError:('expected string without null bytes',)
-+ "\0" in vim.options:TypeError:('expected string without null bytes',)
-+ <<< Finished
-  > Dictionary
-  >> DictionaryConstructor
-  vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',)
-*** ../vim-7.4.151/src/testdir/test87.in	2014-01-14 16:36:40.000000000 +0100
---- src/testdir/test87.in	2014-01-14 16:49:10.000000000 +0100
-***************
-*** 503,508 ****
---- 503,513 ----
-  :py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
-  :py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
-  :py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
-+ :$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts2)')
-+ :$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts2)')
-+ :py3 gset=set(iter(gopts1))
-+ :py3 wset=set(iter(wopts1))
-+ :py3 bset=set(iter(bopts1))
-  :set path=.,..,,
-  :let lst=[]
-  :let lst+=[['paste',          1,     0,     1,     2,      1,    1,      0    ]]
-***************
-*** 533,538 ****
---- 538,545 ----
-  :       py3 oval3=bool(oval3)
-  :   endif
-  :   put ='>>> '.oname
-+ :   $put ='  g/w/b:'.py3eval('oname in gset').'/'.py3eval('oname in wset').'/'.py3eval('oname in bset')
-+ :   $put ='  g/w/b (in):'.py3eval('oname in gopts1').'/'.py3eval('oname in wopts1').'/'.py3eval('oname in bopts1')
-  :   for v in ['gopts1', 'wopts1', 'bopts1']
-  :       try
-  :           put ='  p/'.v.': '.Ev('repr('.v.'['''.oname.'''])')
-***************
-*** 1099,1104 ****
---- 1106,1118 ----
-  ee('import failing')
-  vim.options['rtp'] = old_rtp
-  del old_rtp
-+ cb.append("> Options")
-+ cb.append(">> OptionsItem")
-+ ee('vim.options["abcQ"]')
-+ ee('vim.options[""]')
-+ stringtochars_test('vim.options[%s]')
-+ cb.append(">> OptionsContains")
-+ stringtochars_test('%s in vim.options')
-  cb.append("> Dictionary")
-  cb.append(">> DictionaryConstructor")
-  ee('vim.Dictionary("abcI")')
-*** ../vim-7.4.151/src/testdir/test87.ok	2014-01-14 16:36:40.000000000 +0100
---- src/testdir/test87.ok	2014-01-14 16:49:10.000000000 +0100
-***************
-*** 112,118 ****
---- 112,122 ----
-  def
-  bar
-  jkl
-+ wopts iters equal: 1
-+ bopts iters equal: 1
-  >>> paste
-+   g/w/b:1/0/0
-+   g/w/b (in):1/0/0
-    p/gopts1: False
-    p/wopts1! KeyError
-    inv: 2! KeyError
-***************
-*** 133,138 ****
---- 137,144 ----
-    W: 1:1 2:1 3:1 4:1
-    B: 1:1 2:1 3:1 4:1
-  >>> previewheight
-+   g/w/b:1/0/0
-+   g/w/b (in):1/0/0
-    p/gopts1: 12
-    inv: 'a'! TypeError
-    p/wopts1! KeyError
-***************
-*** 154,159 ****
---- 160,167 ----
-    W: 1:5 2:5 3:5 4:5
-    B: 1:5 2:5 3:5 4:5
-  >>> operatorfunc
-+   g/w/b:1/0/0
-+   g/w/b (in):1/0/0
-    p/gopts1: b''
-    inv: 2! TypeError
-    p/wopts1! KeyError
-***************
-*** 175,180 ****
---- 183,190 ----
-    W: 1:'A' 2:'A' 3:'A' 4:'A'
-    B: 1:'A' 2:'A' 3:'A' 4:'A'
-  >>> number
-+   g/w/b:0/1/0
-+   g/w/b (in):0/1/0
-    p/gopts1! KeyError
-    inv: 0! KeyError
-    gopts1! KeyError
-***************
-*** 193,198 ****
---- 203,210 ----
-    W: 1:1 2:1 3:0 4:0
-    B: 1:1 2:1 3:0 4:0
-  >>> numberwidth
-+   g/w/b:0/1/0
-+   g/w/b (in):0/1/0
-    p/gopts1! KeyError
-    inv: -100! KeyError
-    gopts1! KeyError
-***************
-*** 212,217 ****
---- 224,231 ----
-    W: 1:3 2:5 3:2 4:8
-    B: 1:3 2:5 3:2 4:8
-  >>> colorcolumn
-+   g/w/b:0/1/0
-+   g/w/b (in):0/1/0
-    p/gopts1! KeyError
-    inv: 'abc4'! KeyError
-    gopts1! KeyError
-***************
-*** 231,236 ****
---- 245,252 ----
-    W: 1:'+2' 2:'+3' 3:'+1' 4:''
-    B: 1:'+2' 2:'+3' 3:'+1' 4:''
-  >>> statusline
-+   g/w/b:1/1/0
-+   g/w/b (in):1/1/0
-    p/gopts1: b''
-    inv: 0! TypeError
-    p/wopts1: None
-***************
-*** 248,253 ****
---- 264,271 ----
-    W: 1:'2' 2:'1' 3:'1' 4:'1'
-    B: 1:'2' 2:'1' 3:'1' 4:'1'
-  >>> autoindent
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 2! KeyError
-    gopts1! KeyError
-***************
-*** 266,271 ****
---- 284,291 ----
-    W: 1:0 2:1 3:0 4:1
-    B: 1:0 2:1 3:0 4:1
-  >>> shiftwidth
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 3! KeyError
-    gopts1! KeyError
-***************
-*** 284,289 ****
---- 304,311 ----
-    W: 1:0 2:2 3:8 4:1
-    B: 1:0 2:2 3:8 4:1
-  >>> omnifunc
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 1! KeyError
-    gopts1! KeyError
-***************
-*** 303,308 ****
---- 325,332 ----
-    W: 1:'A' 2:'B' 3:'' 4:'C'
-    B: 1:'A' 2:'B' 3:'' 4:'C'
-  >>> preserveindent
-+   g/w/b:0/0/1
-+   g/w/b (in):0/0/1
-    p/gopts1! KeyError
-    inv: 2! KeyError
-    gopts1! KeyError
-***************
-*** 321,326 ****
---- 345,352 ----
-    W: 1:0 2:1 3:0 4:1
-    B: 1:0 2:1 3:0 4:1
-  >>> path
-+   g/w/b:1/0/1
-+   g/w/b (in):1/0/1
-    p/gopts1: b'.,..,,'
-    inv: 0! TypeError
-    p/wopts1! KeyError
-***************
-*** 509,514 ****
---- 535,555 ----
-  import xxx_no_such_module_xxx:(<class 'ImportError'>, ImportError('No module named xxx_no_such_module_xxx',))
-  import failing_import:(<class 'ImportError'>, ImportError('No module named failing_import',))
-  import failing:(<class 'NotImplementedError'>, NotImplementedError())
-+ > Options
-+ >> OptionsItem
-+ vim.options["abcQ"]:(<class 'KeyError'>, KeyError('abcQ',))
-+ vim.options[""]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
-+ >>> Testing StringToChars using vim.options[%s]
-+ vim.options[1]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
-+ vim.options[b"\0"]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
-+ vim.options["\0"]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
-+ <<< Finished
-+ >> OptionsContains
-+ >>> Testing StringToChars using %s in vim.options
-+ 1 in vim.options:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
-+ b"\0" in vim.options:(<class 'TypeError'>, TypeError('expected bytes with no null',))
-+ "\0" in vim.options:(<class 'TypeError'>, TypeError('expected bytes with no null',))
-+ <<< Finished
-  > Dictionary
-  >> DictionaryConstructor
-  vim.Dictionary("abcI"):(<class 'ValueError'>, ValueError('expected sequence element of size 2, but got sequence of size 1',))
-*** ../vim-7.4.151/src/vim.h	2013-11-09 03:31:45.000000000 +0100
---- src/vim.h	2014-01-14 16:49:10.000000000 +0100
-***************
-*** 2249,2254 ****
---- 2249,2255 ----
-  #define SOPT_BUF	0x20	/* Option has buffer-local value */
-  #define SOPT_UNSET	0x40	/* Option does not have local value set */
-  
-+ /* Option types for various functions in option.c */
-  #define SREQ_GLOBAL	0	/* Request global option */
-  #define SREQ_WIN	1	/* Request window-local option */
-  #define SREQ_BUF	2	/* Request buffer-local option */
-*** ../vim-7.4.151/src/version.c	2014-01-14 16:36:40.000000000 +0100
---- src/version.c	2014-01-14 16:43:58.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     152,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-160. You get in the elevator and double-click the button for the floor
-     you want.
-
- /// 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    ///
diff --git a/7.4.153 b/7.4.153
deleted file mode 100644
index 73881b5..0000000
--- a/7.4.153
+++ /dev/null
@@ -1,176 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.153
-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.153
-Problem:    Compiler warning for pointer type.
-Solution:   Add type cast.
-Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c
-
-
-*** ../vim-7.4.152/src/if_py_both.h	2014-01-14 16:54:53.000000000 +0100
---- src/if_py_both.h	2014-01-14 18:54:47.000000000 +0100
-***************
-*** 2326,2332 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx(idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return NULL;
-  	return ListSlice(self, start, step, slicelen);
---- 2326,2332 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return NULL;
-  	return ListSlice(self, start, step, slicelen);
-***************
-*** 2616,2622 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx(idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return -1;
-  	return ListAssSlice(self, start, step, slicelen,
---- 2616,2622 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return -1;
-  	return ListAssSlice(self, start, step, slicelen,
-*** ../vim-7.4.152/src/if_python.c	2014-01-14 16:36:40.000000000 +0100
---- src/if_python.c	2014-01-14 18:56:41.000000000 +0100
-***************
-*** 343,349 ****
-  static PyInt(*dll_PyTuple_Size)(PyObject *);
-  static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt);
-  static PyTypeObject* dll_PyTuple_Type;
-! static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length,
-  		     PyInt *start, PyInt *stop, PyInt *step,
-  		     PyInt *slicelen);
-  static PyObject*(*dll_PyImport_ImportModule)(const char *);
---- 343,349 ----
-  static PyInt(*dll_PyTuple_Size)(PyObject *);
-  static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt);
-  static PyTypeObject* dll_PyTuple_Type;
-! static int (*dll_PySlice_GetIndicesEx)(PySliceObject *r, PyInt length,
-  		     PyInt *start, PyInt *stop, PyInt *step,
-  		     PyInt *slicelen);
-  static PyObject*(*dll_PyImport_ImportModule)(const char *);
-*** ../vim-7.4.152/src/if_python3.c	2014-01-14 16:36:40.000000000 +0100
---- src/if_python3.c	2014-01-14 18:58:19.000000000 +0100
-***************
-*** 294,300 ****
-  static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
-  static int (*py3_PyMapping_Check)(PyObject *);
-  static PyObject* (*py3_PyMapping_Keys)(PyObject *);
-! static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
-  		     Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
-  		     Py_ssize_t *slicelen);
-  static PyObject* (*py3_PyErr_NoMemory)(void);
---- 294,300 ----
-  static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
-  static int (*py3_PyMapping_Check)(PyObject *);
-  static PyObject* (*py3_PyMapping_Keys)(PyObject *);
-! static int (*py3_PySlice_GetIndicesEx)(PySliceObject *r, Py_ssize_t length,
-  		     Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
-  		     Py_ssize_t *slicelen);
-  static PyObject* (*py3_PyErr_NoMemory)(void);
-***************
-*** 1190,1196 ****
-  	if (CheckBuffer((BufferObject *) self))
-  	    return NULL;
-  
-! 	if (PySlice_GetIndicesEx((PyObject *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
---- 1190,1196 ----
-  	if (CheckBuffer((BufferObject *) self))
-  	    return NULL;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
-***************
-*** 1222,1228 ****
-  	if (CheckBuffer((BufferObject *) self))
-  	    return -1;
-  
-! 	if (PySlice_GetIndicesEx((PyObject *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
---- 1222,1228 ----
-  	if (CheckBuffer((BufferObject *) self))
-  	    return -1;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
-***************
-*** 1306,1312 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PyObject *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
---- 1306,1312 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
-***************
-*** 1333,1339 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PyObject *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
---- 1333,1339 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
-*** ../vim-7.4.152/src/version.c	2014-01-14 16:54:53.000000000 +0100
---- src/version.c	2014-01-14 18:54:01.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     153,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-161. You get up before the sun rises to check your e-mail, and you
-     find yourself in the very same chair long after the sun has set.
-
- /// 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    ///
diff --git a/7.4.154 b/7.4.154
deleted file mode 100644
index db5ae62..0000000
--- a/7.4.154
+++ /dev/null
@@ -1,153 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.154
-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.154 (after 7.4.149)
-Problem:    Still a problem with auto-loading.
-Solution:   Pass no_autoload to deref_func_name(). (Yukihiro Nakadaira)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.153/src/eval.c	2014-01-14 16:36:40.000000000 +0100
---- src/eval.c	2014-01-14 19:40:36.000000000 +0100
-***************
-*** 447,453 ****
-  #endif
-  static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
-  static int find_internal_func __ARGS((char_u *name));
-! static char_u *deref_func_name __ARGS((char_u *name, int *lenp));
-  static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
-  static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
-  static void emsg_funcname __ARGS((char *ermsg, char_u *name));
---- 447,453 ----
-  #endif
-  static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
-  static int find_internal_func __ARGS((char_u *name));
-! static char_u *deref_func_name __ARGS((char_u *name, int *lenp, int no_autoload));
-  static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
-  static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
-  static void emsg_funcname __ARGS((char *ermsg, char_u *name));
-***************
-*** 3432,3438 ****
-  
-      /* If it is the name of a variable of type VAR_FUNC use its contents. */
-      len = (int)STRLEN(tofree);
-!     name = deref_func_name(tofree, &len);
-  
-      /* Skip white space to allow ":call func ()".  Not good, but required for
-       * backward compatibility. */
---- 3432,3438 ----
-  
-      /* If it is the name of a variable of type VAR_FUNC use its contents. */
-      len = (int)STRLEN(tofree);
-!     name = deref_func_name(tofree, &len, FALSE);
-  
-      /* Skip white space to allow ":call func ()".  Not good, but required for
-       * backward compatibility. */
-***************
-*** 5159,5165 ****
-  	    {
-  		/* If "s" is the name of a variable of type VAR_FUNC
-  		 * use its contents. */
-! 		s = deref_func_name(s, &len);
-  
-  		/* Invoke the function. */
-  		ret = get_func_tv(s, len, rettv, arg,
---- 5159,5165 ----
-  	    {
-  		/* If "s" is the name of a variable of type VAR_FUNC
-  		 * use its contents. */
-! 		s = deref_func_name(s, &len, FALSE);
-  
-  		/* Invoke the function. */
-  		ret = get_func_tv(s, len, rettv, arg,
-***************
-*** 8291,8306 ****
-   * name it contains, otherwise return "name".
-   */
-      static char_u *
-! deref_func_name(name, lenp)
-      char_u	*name;
-      int		*lenp;
-  {
-      dictitem_T	*v;
-      int		cc;
-  
-      cc = name[*lenp];
-      name[*lenp] = NUL;
-!     v = find_var(name, NULL, FALSE);
-      name[*lenp] = cc;
-      if (v != NULL && v->di_tv.v_type == VAR_FUNC)
-      {
---- 8291,8307 ----
-   * name it contains, otherwise return "name".
-   */
-      static char_u *
-! deref_func_name(name, lenp, no_autoload)
-      char_u	*name;
-      int		*lenp;
-+     int		no_autoload;
-  {
-      dictitem_T	*v;
-      int		cc;
-  
-      cc = name[*lenp];
-      name[*lenp] = NUL;
-!     v = find_var(name, NULL, no_autoload);
-      name[*lenp] = cc;
-      if (v != NULL && v->di_tv.v_type == VAR_FUNC)
-      {
-***************
-*** 21947,21960 ****
-      if (lv.ll_exp_name != NULL)
-      {
-  	len = (int)STRLEN(lv.ll_exp_name);
-! 	name = deref_func_name(lv.ll_exp_name, &len);
-  	if (name == lv.ll_exp_name)
-  	    name = NULL;
-      }
-      else
-      {
-  	len = (int)(end - *pp);
-! 	name = deref_func_name(*pp, &len);
-  	if (name == *pp)
-  	    name = NULL;
-      }
---- 21948,21961 ----
-      if (lv.ll_exp_name != NULL)
-      {
-  	len = (int)STRLEN(lv.ll_exp_name);
-! 	name = deref_func_name(lv.ll_exp_name, &len, flags & TFN_NO_AUTOLOAD);
-  	if (name == lv.ll_exp_name)
-  	    name = NULL;
-      }
-      else
-      {
-  	len = (int)(end - *pp);
-! 	name = deref_func_name(*pp, &len, flags & TFN_NO_AUTOLOAD);
-  	if (name == *pp)
-  	    name = NULL;
-      }
-*** ../vim-7.4.153/src/version.c	2014-01-14 19:35:49.000000000 +0100
---- src/version.c	2014-01-14 19:42:05.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     154,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-162. You go outside and look for a brightness knob to turn down the sun.
-
- /// 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    ///
diff --git a/7.4.155 b/7.4.155
deleted file mode 100644
index e2b26bd..0000000
--- a/7.4.155
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.155
-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.155
-Problem:    ":keeppatterns /pat" does not keep search pattern offset.
-Solution:   Restore the offset after doing the search.
-Files:	    src/search.c, src/testdir/test14.in, src/testdir/test14.ok
-
-
-*** ../vim-7.4.154/src/search.c	2014-01-14 15:53:47.000000000 +0100
---- src/search.c	2014-01-14 21:27:32.000000000 +0100
-***************
-*** 1437,1443 ****
-      curwin->w_set_curswant = TRUE;
-  
-  end_do_search:
-!     if (options & SEARCH_KEEP)
-  	spats[0].off = old_off;
-      vim_free(strcopy);
-  
---- 1437,1443 ----
-      curwin->w_set_curswant = TRUE;
-  
-  end_do_search:
-!     if ((options & SEARCH_KEEP) || cmdmod.keeppatterns)
-  	spats[0].off = old_off;
-      vim_free(strcopy);
-  
-*** ../vim-7.4.154/src/testdir/test14.in	2014-01-14 15:53:47.000000000 +0100
---- src/testdir/test14.in	2014-01-14 21:13:39.000000000 +0100
-***************
-*** 56,62 ****
-  :$put =@/
-  /^substitute
-  Y:$put =@0
-! :/^search()/,$w >>test.out
-  :qa!
-  ENDTEST
-  
---- 56,65 ----
-  :$put =@/
-  /^substitute
-  Y:$put =@0
-! /bar /e
-! :$put =@0
-! -:keeppatterns /xyz
-! 0dn:/^search()/,$w >>test.out
-  :qa!
-  ENDTEST
-  
-*** ../vim-7.4.154/src/testdir/test14.ok	2014-01-14 15:53:47.000000000 +0100
---- src/testdir/test14.ok	2014-01-14 21:16:23.000000000 +0100
-***************
-*** 23,25 ****
---- 23,26 ----
-  foo
-  ^substitute
-  substitute bar xyz
-+ xyz
-*** ../vim-7.4.154/src/version.c	2014-01-14 19:44:30.000000000 +0100
---- src/version.c	2014-01-14 21:28:24.000000000 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     155,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-164. You got out to buy software, instead of going out for a beer.
-
- /// 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    ///
diff --git a/7.4.156 b/7.4.156
deleted file mode 100644
index a1a272c..0000000
--- a/7.4.156
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.156
-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.156
-Problem:    Test file missing from distribution.
-Solution:   Add new directory to file list.
-Files:	    Filelist
-
-
-*** ../vim-7.4.155/Filelist	2013-07-13 15:23:38.000000000 +0200
---- Filelist	2014-01-23 14:23:38.639298979 +0100
-***************
-*** 80,85 ****
---- 80,86 ----
-  		src/main.aap \
-  		src/testdir/main.aap \
-  		src/testdir/*.in \
-+ 		src/testdir/sautest/autoload/*.vim \
-  		src/testdir/test[0-9]*.ok \
-  		src/testdir/test49.vim \
-  		src/testdir/test60.vim \
-*** ../vim-7.4.155/src/version.c	2014-01-14 21:31:30.000000000 +0100
---- src/version.c	2014-01-23 14:24:18.475300074 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     156,
-  /**/
-
--- 
-Some of the well known MS-Windows errors:
-	ETIME		Wrong time, wait a little while
-	ECRASH		Try again...
-	EDETECT		Unable to detect errors
-	EOVER		You lost!  Play another game?
-	ENOCLUE		Eh, what did you want?
-
- /// 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    ///
diff --git a/7.4.157 b/7.4.157
deleted file mode 100644
index 9ec2bd0..0000000
--- a/7.4.157
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.157
-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.157
-Problem:    Error number used twice. (Yukihiro Nakadaira)
-Solution:   Change the one not referred in the docs.
-Files:	    src/undo.c
-
-
-*** ../vim-7.4.156/src/undo.c	2013-11-07 03:04:06.000000000 +0100
---- src/undo.c	2014-01-23 18:07:33.395668196 +0100
-***************
-*** 409,415 ****
-  	{
-  	    /* This happens when the FileChangedRO autocommand changes the
-  	     * file in a way it becomes shorter. */
-! 	    EMSG(_("E834: Line count changed unexpectedly"));
-  	    return FAIL;
-  	}
-  #endif
---- 409,415 ----
-  	{
-  	    /* This happens when the FileChangedRO autocommand changes the
-  	     * file in a way it becomes shorter. */
-! 	    EMSG(_("E881: Line count changed unexpectedly"));
-  	    return FAIL;
-  	}
-  #endif
-*** ../vim-7.4.156/src/version.c	2014-01-23 14:26:18.815303381 +0100
---- src/version.c	2014-01-23 18:10:47.551673532 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     157,
-  /**/
-
-
--- 
-hundred-and-one symptoms of being an internet addict:
-201. When somebody asks you where you are, you tell them in which chat room.
-
- /// 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    ///
diff --git a/7.4.158 b/7.4.158
deleted file mode 100644
index d5291d3..0000000
--- a/7.4.158
+++ /dev/null
@@ -1,140 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.158
-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.158 (after 7.4.045)
-Problem:    Pattern containing \zs is not handled correctly by substitute().
-Solution:   Change how an empty match is skipped. (Yukihiro Nakadaira)
-Files:	    src/eval.c, src/testdir/test80.in, src/testdir/test80.ok
-
-
-*** ../vim-7.4.157/src/eval.c	2014-01-14 19:44:30.000000000 +0100
---- src/eval.c	2014-01-23 19:25:23.199796533 +0100
-***************
-*** 24365,24371 ****
-      garray_T	ga;
-      char_u	*ret;
-      char_u	*save_cpo;
-!     int		zero_width;
-  
-      /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
-      save_cpo = p_cpo;
---- 24365,24371 ----
-      garray_T	ga;
-      char_u	*ret;
-      char_u	*save_cpo;
-!     char_u	*zero_width = NULL;
-  
-      /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
-      save_cpo = p_cpo;
-***************
-*** 24382,24387 ****
---- 24382,24400 ----
-  	tail = str;
-  	while (vim_regexec_nl(&regmatch, str, (colnr_T)(tail - str)))
-  	{
-+ 	    /* Skip empty match except for first match. */
-+ 	    if (regmatch.startp[0] == regmatch.endp[0])
-+ 	    {
-+ 		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];
-+ 	    }
-+ 
-  	    /*
-  	     * Get some space for a temporary buffer to do the substitution
-  	     * into.  It will contain:
-***************
-*** 24404,24420 ****
-  	    (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
-  					  + ga.ga_len + i, TRUE, TRUE, FALSE);
-  	    ga.ga_len += i + sublen - 1;
-- 	    zero_width = (tail == regmatch.endp[0]
-- 				    || regmatch.startp[0] == regmatch.endp[0]);
-  	    tail = regmatch.endp[0];
-  	    if (*tail == NUL)
-  		break;
-- 	    if (zero_width)
-- 	    {
-- 		/* avoid getting stuck on a match with an empty string */
-- 		*((char_u *)ga.ga_data + ga.ga_len) = *tail++;
-- 		++ga.ga_len;
-- 	    }
-  	    if (!do_all)
-  		break;
-  	}
---- 24417,24425 ----
-*** ../vim-7.4.157/src/testdir/test80.in	2013-09-29 21:11:00.000000000 +0200
---- src/testdir/test80.in	2014-01-23 19:24:30.487795084 +0100
-***************
-*** 176,181 ****
---- 176,198 ----
-  TEST_10:
-  
-  STARTTEST
-+ :set magic&
-+ :set cpo&
-+ :$put =\"\n\nTEST_10:\"
-+ :let y = substitute('123', '\zs', 'a', 'g')             | $put =y
-+ :let y = substitute('123', '\zs.', 'a', 'g')            | $put =y
-+ :let y = substitute('123', '.\zs', 'a', 'g')            | $put =y
-+ :let y = substitute('123', '\ze', 'a', 'g')             | $put =y
-+ :let y = substitute('123', '\ze.', 'a', 'g')            | $put =y
-+ :let y = substitute('123', '.\ze', 'a', 'g')            | $put =y
-+ :let y = substitute('123', '1\|\ze', 'a', 'g')          | $put =y
-+ :let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y
-+ /^TEST_11
-+ ENDTEST
-+ 
-+ TEST_11:
-+ 
-+ STARTTEST
-  :/^Results/,$wq! test.out
-  ENDTEST
-  
-*** ../vim-7.4.157/src/testdir/test80.ok	2013-09-29 21:11:00.000000000 +0200
---- src/testdir/test80.ok	2014-01-23 19:24:35.691795227 +0100
-***************
-*** 115,117 ****
---- 115,128 ----
-  
-  TEST_9:
-  XXx
-+ 
-+ 
-+ TEST_10:
-+ a1a2a3a
-+ aaa
-+ 1a2a3a
-+ a1a2a3a
-+ a1a2a3
-+ aaa
-+ aa2a3a
-+ 1aaa
-*** ../vim-7.4.157/src/version.c	2014-01-23 18:12:44.695676751 +0100
---- src/version.c	2014-01-23 19:27:21.611799787 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     158,
-  /**/
-
--- 
-$ echo pizza > /dev/oven
-
- /// 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    ///
diff --git a/7.4.159 b/7.4.159
deleted file mode 100644
index be89abe..0000000
--- a/7.4.159
+++ /dev/null
@@ -1,116 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.159
-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.159
-Problem:    Completion hangs when scanning the current buffer after doing
-	    keywords. (Christian Brabandt)
-Solution:   Set the first match position when starting to scan the current
-	    buffer.
-Files:	    src/edit.c
-
-
-*** ../vim-7.4.158/src/edit.c	2014-01-14 12:16:57.000000000 +0100
---- src/edit.c	2014-01-23 22:42:20.964121311 +0100
-***************
-*** 4180,4185 ****
---- 4180,4186 ----
-      char_u	*dict = NULL;
-      int		dict_f = 0;
-      compl_T	*old_match;
-+     int		set_match_pos;
-  
-      if (!compl_started)
-      {
-***************
-*** 4198,4203 ****
---- 4199,4205 ----
-      for (;;)
-      {
-  	found_new_match = FAIL;
-+ 	set_match_pos = FALSE;
-  
-  	/* For ^N/^P pick a new entry from e_cpt if compl_started is off,
-  	 * or if found_all says this entry is done.  For ^X^L only use the
-***************
-*** 4217,4222 ****
---- 4219,4228 ----
-  		    dec(&first_match_pos);
-  		last_match_pos = first_match_pos;
-  		type = 0;
-+ 
-+ 		/* Remember the first match so that the loop stops when we
-+ 		 * wrap and come back there a second time. */
-+ 		set_match_pos = TRUE;
-  	    }
-  	    else if (vim_strchr((char_u *)"buwU", *e_cpt) != NULL
-  		 && (ins_buf = ins_compl_next_buf(ins_buf, *e_cpt)) != curbuf)
-***************
-*** 4381,4387 ****
-  	    if (ins_buf->b_p_inf)
-  		p_scs = FALSE;
-  
-! 	    /*	buffers other than curbuf are scanned from the beginning or the
-  	     *	end but never from the middle, thus setting nowrapscan in this
-  	     *	buffers is a good idea, on the other hand, we always set
-  	     *	wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */
---- 4387,4393 ----
-  	    if (ins_buf->b_p_inf)
-  		p_scs = FALSE;
-  
-! 	    /*	Buffers other than curbuf are scanned from the beginning or the
-  	     *	end but never from the middle, thus setting nowrapscan in this
-  	     *	buffers is a good idea, on the other hand, we always set
-  	     *	wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */
-***************
-*** 4408,4419 ****
-  				 compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
-  						  RE_LAST, (linenr_T)0, NULL);
-  		--msg_silent;
-! 		if (!compl_started)
-  		{
-  		    /* set "compl_started" even on fail */
-  		    compl_started = TRUE;
-  		    first_match_pos = *pos;
-  		    last_match_pos = *pos;
-  		}
-  		else if (first_match_pos.lnum == last_match_pos.lnum
-  				 && first_match_pos.col == last_match_pos.col)
---- 4414,4426 ----
-  				 compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
-  						  RE_LAST, (linenr_T)0, NULL);
-  		--msg_silent;
-! 		if (!compl_started || set_match_pos)
-  		{
-  		    /* set "compl_started" even on fail */
-  		    compl_started = TRUE;
-  		    first_match_pos = *pos;
-  		    last_match_pos = *pos;
-+ 		    set_match_pos = FALSE;
-  		}
-  		else if (first_match_pos.lnum == last_match_pos.lnum
-  				 && first_match_pos.col == last_match_pos.col)
-*** ../vim-7.4.158/src/version.c	2014-01-23 20:09:29.523869260 +0100
---- src/version.c	2014-01-23 22:44:40.908125157 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     159,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-205. You're constantly yelling at your spouse, family, roommate, whatever,
-     for using the phone for stupid things...like talking.
-
- /// 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    ///
diff --git a/7.4.160 b/7.4.160
deleted file mode 100644
index 41b0043..0000000
--- a/7.4.160
+++ /dev/null
@@ -1,66 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.160
-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.160
-Problem:    Win32: Crash when executing external command.
-Solution:   Only close the handle when it was created. (Yasuhiro Matsumoto)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.159/src/os_win32.c	2014-01-12 13:24:46.000000000 +0100
---- src/os_win32.c	2014-01-24 19:54:35.778219160 +0100
-***************
-*** 4627,4632 ****
---- 4627,4633 ----
-  	    DWORD		flags = CREATE_NEW_CONSOLE;
-  	    char_u		*p;
-  
-+ 	    ZeroMemory(&si, sizeof(si));
-  	    si.cb = sizeof(si);
-  	    si.lpReserved = NULL;
-  	    si.lpDesktop = NULL;
-***************
-*** 4723,4731 ****
-  	    if (newcmd != cmdbase)
-  		vim_free(newcmd);
-  
-! 	    if (si.hStdInput != NULL)
-  	    {
-! 		/* Close the handle to \\.\NUL */
-  		CloseHandle(si.hStdInput);
-  	    }
-  	    /* Close the handles to the subprocess, so that it goes away */
---- 4724,4732 ----
-  	    if (newcmd != cmdbase)
-  		vim_free(newcmd);
-  
-! 	    if (si.dwFlags == STARTF_USESTDHANDLES && si.hStdInput != NULL)
-  	    {
-! 		/* Close the handle to \\.\NUL created above. */
-  		CloseHandle(si.hStdInput);
-  	    }
-  	    /* Close the handles to the subprocess, so that it goes away */
-*** ../vim-7.4.159/src/version.c	2014-01-23 22:45:54.608127182 +0100
---- src/version.c	2014-01-24 19:52:46.946216170 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     160,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-209. Your house stinks because you haven't cleaned it in a week.
-
- /// 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    ///
diff --git a/7.4.161 b/7.4.161
deleted file mode 100644
index 0487264..0000000
--- a/7.4.161
+++ /dev/null
@@ -1,75 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.161
-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.161
-Problem:    Crash in Python exception handling.
-Solution:   Only use exception variables if did_throw is set. (ZyX)
-Files:	    if_py_both.h
-
-
-*** ../vim-7.4.160/src/if_py_both.h	2014-01-14 19:35:49.000000000 +0100
---- src/if_py_both.h	2014-01-31 14:46:20.455526607 +0100
-***************
-*** 564,573 ****
-      /* Keyboard interrupt should be preferred over anything else */
-      if (got_int)
-      {
-! 	if (current_exception != NULL)
-  	    discard_current_exception();
-- 	else
-- 	    need_rethrow = did_throw = FALSE;
-  	got_int = FALSE;
-  	PyErr_SetNone(PyExc_KeyboardInterrupt);
-  	return -1;
---- 564,571 ----
-      /* Keyboard interrupt should be preferred over anything else */
-      if (got_int)
-      {
-! 	if (did_throw)
-  	    discard_current_exception();
-  	got_int = FALSE;
-  	PyErr_SetNone(PyExc_KeyboardInterrupt);
-  	return -1;
-***************
-*** 599,608 ****
-      /* Python exception is preferred over vim one; unlikely to occur though */
-      else if (PyErr_Occurred())
-      {
-! 	if (current_exception != NULL)
-! 	    discard_current_exception();
-! 	else
-! 	    need_rethrow = did_throw = FALSE;
-  	return -1;
-      }
-      /* Finally transform VimL exception to python one */
---- 597,603 ----
-      /* Python exception is preferred over vim one; unlikely to occur though */
-      else if (PyErr_Occurred())
-      {
-! 	discard_current_exception();
-  	return -1;
-      }
-      /* Finally transform VimL exception to python one */
-*** ../vim-7.4.160/src/version.c	2014-01-24 19:55:33.078220735 +0100
---- src/version.c	2014-01-31 14:46:39.127526894 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     161,
-  /**/
-
--- 
-Eagles may soar, but weasels don't get sucked into jet engines.
-
- /// 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    ///
diff --git a/7.4.162 b/7.4.162
deleted file mode 100644
index 0687e88..0000000
--- a/7.4.162
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.162
-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.162
-Problem:    Running tests in shadow dir doesn't work.
-Solution:   Add testdir/sautest to the shadow target. (James McCoy)
-Files:	    src/Makefile
-
-
-*** ../vim-7.4.161/src/Makefile	2013-11-07 03:25:51.000000000 +0100
---- src/Makefile	2014-02-05 12:34:00.214024436 +0100
-***************
-*** 2381,2386 ****
---- 2381,2387 ----
-  				 ../../testdir/*.in \
-  				 ../../testdir/*.vim \
-  				 ../../testdir/python* \
-+ 				 ../../testdir/sautest \
-  				 ../../testdir/test83-tags? \
-  				 ../../testdir/*.ok .
-  
-*** ../vim-7.4.161/src/version.c	2014-01-31 14:53:59.715533645 +0100
---- src/version.c	2014-02-05 12:34:19.766024736 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     162,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-263. You have more e-mail addresses than shorts.
-
- /// 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    ///
diff --git a/7.4.163 b/7.4.163
deleted file mode 100644
index b04e91d..0000000
--- a/7.4.163
+++ /dev/null
@@ -1,75 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.163
-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.163 (after 7.4.142)
-Problem:    MS-Windows input doesn't work properly on Windows 7 and earlier.
-Solution:   Add a check for Windows 8. (Yasuhiro Matsumoto)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.162/src/os_win32.c	2014-01-24 19:55:33.078220735 +0100
---- src/os_win32.c	2014-02-05 13:33:03.758078734 +0100
-***************
-*** 232,237 ****
---- 232,239 ----
-  
-  static char_u *exe_path = NULL;
-  
-+ static BOOL win8_or_later = FALSE;
-+ 
-  /*
-   * Version of ReadConsoleInput() that works with IME.
-   * Works around problems on Windows 8.
-***************
-*** 252,257 ****
---- 254,266 ----
-      static DWORD s_dwMax = 0;
-      DWORD dwEvents;
-  
-+     if (!win8_or_later)
-+     {
-+ 	if (nLength == -1)
-+ 	    return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents);
-+ 	return ReadConsoleInput(hInput, lpBuffer, 1, &dwEvents);
-+     }
-+ 
-      if (s_dwMax == 0)
-      {
-  	if (nLength == -1)
-***************
-*** 617,622 ****
---- 626,635 ----
-  
-  	g_PlatformId = ovi.dwPlatformId;
-  
-+ 	if ((ovi.dwMajorVersion == 6 && ovi.dwMinorVersion >= 2)
-+ 		|| ovi.dwMajorVersion > 6)
-+ 	    win8_or_later = TRUE;
-+ 
-  #ifdef HAVE_ACL
-  	/*
-  	 * Load the ADVAPI runtime if we are on anything
-*** ../vim-7.4.162/src/version.c	2014-02-05 12:36:36.622026833 +0100
---- src/version.c	2014-02-05 13:31:31.618077322 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     163,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-266. You hear most of your jokes via e-mail instead of in person.
-
- /// 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    ///
diff --git a/7.4.164 b/7.4.164
deleted file mode 100644
index b35deba..0000000
--- a/7.4.164
+++ /dev/null
@@ -1,78 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.164
-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.164 (after 7.4.163)
-Problem:    Problem with event handling on Windows 8.
-Solution:   Ignore duplicate WINDOW_BUFFER_SIZE_EVENTs. (Nobuhiro Takasaki)
-Files:	    src/os_win32.c
-
-
-*** ../vim-7.4.163/src/os_win32.c	2014-02-05 13:36:50.846082213 +0100
---- src/os_win32.c	2014-02-05 14:01:13.350104623 +0100
-***************
-*** 253,258 ****
---- 253,261 ----
-      static DWORD s_dwIndex = 0;
-      static DWORD s_dwMax = 0;
-      DWORD dwEvents;
-+     int head;
-+     int tail;
-+     int i;
-  
-      if (!win8_or_later)
-      {
-***************
-*** 274,280 ****
---- 277,305 ----
-  	    *lpEvents = 0;
-  	    return TRUE;
-  	}
-+ 
-+ 	if (s_dwMax > 1)
-+ 	{
-+ 	    head = 0;
-+ 	    tail = s_dwMax - 1;
-+ 	    while (head != tail)
-+ 	    {
-+ 		if (s_irCache[head].EventType == WINDOW_BUFFER_SIZE_EVENT
-+ 			&& s_irCache[head + 1].EventType
-+ 						  == WINDOW_BUFFER_SIZE_EVENT)
-+ 		{
-+ 		    /* Remove duplicate event to avoid flicker. */
-+ 		    for (i = head; i < tail; ++i)
-+ 			s_irCache[i] = s_irCache[i + 1];
-+ 		    --tail;
-+ 		    continue;
-+ 		}
-+ 		head++;
-+ 	    }
-+ 	    s_dwMax = tail + 1;
-+ 	}
-      }
-+ 
-      *lpBuffer = s_irCache[s_dwIndex];
-      if (nLength != -1 && ++s_dwIndex >= s_dwMax)
-  	s_dwMax = 0;
-*** ../vim-7.4.163/src/version.c	2014-02-05 13:36:50.850082213 +0100
---- src/version.c	2014-02-05 13:54:15.570098222 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     164,
-  /**/
-
--- 
-XML is a nice language for computers.  Not for humans.
-
- /// 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    ///
diff --git a/7.4.165 b/7.4.165
deleted file mode 100644
index ab42f73..0000000
--- a/7.4.165
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.165
-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.165
-Problem:    By default, after closing a buffer changes can't be undone.
-Solution:   In the example vimrc file set 'undofile'.
-Files:	    runtime/vimrc_example.vim
-
-
-*** ../vim-7.4.164/runtime/vimrc_example.vim	2011-04-15 20:58:36.000000000 +0200
---- runtime/vimrc_example.vim	2014-02-05 21:59:40.534544501 +0100
-***************
-*** 1,7 ****
-  " An example for a vimrc file.
-  "
-  " Maintainer:	Bram Moolenaar <Bram@vim.org>
-! " Last change:	2011 Apr 15
-  "
-  " To use it, copy it to
-  "     for Unix and OS/2:  ~/.vimrc
---- 1,7 ----
-  " An example for a vimrc file.
-  "
-  " Maintainer:	Bram Moolenaar <Bram@vim.org>
-! " Last change:	2014 Feb 05
-  "
-  " To use it, copy it to
-  "     for Unix and OS/2:  ~/.vimrc
-***************
-*** 24,30 ****
-  if has("vms")
-    set nobackup		" do not keep a backup file, use versions instead
-  else
-!   set backup		" keep a backup file
-  endif
-  set history=50		" keep 50 lines of command line history
-  set ruler		" show the cursor position all the time
---- 24,31 ----
-  if has("vms")
-    set nobackup		" do not keep a backup file, use versions instead
-  else
-!   set backup		" keep a backup file (restore to previous version)
-!   set undofile		" keep an undo file (undo changes after closing)
-  endif
-  set history=50		" keep 50 lines of command line history
-  set ruler		" show the cursor position all the time
-*** ../vim-7.4.164/src/version.c	2014-02-05 14:02:23.590105699 +0100
---- src/version.c	2014-02-05 21:59:47.774544612 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     165,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-269. You wonder how you can make your dustbin produce Sesame Street's
-     Oscar's the Garbage Monster song when you empty 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    ///
diff --git a/7.4.166 b/7.4.166
deleted file mode 100644
index 16f51b4..0000000
--- a/7.4.166
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.166
-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.166
-Problem:    Auto-loading a function for code that won't be executed.
-Solution:   Do not auto-load when evaluation is off. (Yasuhiro Matsumoto)
-Files:	    src/eval.c
-
-
-*** ../vim-7.4.165/src/eval.c	2014-01-23 20:09:29.523869260 +0100
---- src/eval.c	2014-02-05 22:04:21.110548800 +0100
-***************
-*** 5159,5165 ****
-  	    {
-  		/* If "s" is the name of a variable of type VAR_FUNC
-  		 * use its contents. */
-! 		s = deref_func_name(s, &len, FALSE);
-  
-  		/* Invoke the function. */
-  		ret = get_func_tv(s, len, rettv, arg,
---- 5159,5165 ----
-  	    {
-  		/* If "s" is the name of a variable of type VAR_FUNC
-  		 * use its contents. */
-! 		s = deref_func_name(s, &len, !evaluate);
-  
-  		/* Invoke the function. */
-  		ret = get_func_tv(s, len, rettv, arg,
-*** ../vim-7.4.165/src/version.c	2014-02-05 22:01:56.690546587 +0100
---- src/version.c	2014-02-05 22:06:18.610550600 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     166,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-270. You are subscribed to a mailing list for every piece of software
-     you use.
-
- /// 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    ///
diff --git a/7.4.167 b/7.4.167
deleted file mode 100644
index c3ad074..0000000
--- a/7.4.167
+++ /dev/null
@@ -1,195 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.167
-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.167 (after 7.4.149)
-Problem:    Fixes are not tested.
-Solution:   Add a test for not autoloading on assignment. (Yukihiro Nakadaira)
-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/sautest/autoload/Test104.vim, src/testdir/test104.in,
-            src/testdir/test104.ok
-
-
-*** ../vim-7.4.166/src/testdir/Make_amiga.mak	2013-11-21 14:21:25.000000000 +0100
---- src/testdir/Make_amiga.mak	2014-02-05 22:16:46.654560224 +0100
-***************
-*** 34,40 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
---- 34,41 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 154,156 ****
---- 155,158 ----
-  test101.out: test101.in
-  test102.out: test102.in
-  test103.out: test103.in
-+ test104.out: test104.in
-*** ../vim-7.4.166/src/testdir/Make_dos.mak	2013-11-21 14:21:25.000000000 +0100
---- src/testdir/Make_dos.mak	2014-02-05 22:16:46.654560224 +0100
-***************
-*** 33,39 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 33,39 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.166/src/testdir/Make_ming.mak	2014-01-06 15:51:46.000000000 +0100
---- src/testdir/Make_ming.mak	2014-02-05 22:16:46.654560224 +0100
-***************
-*** 53,59 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 53,59 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.166/src/testdir/Make_os2.mak	2013-11-21 14:21:25.000000000 +0100
---- src/testdir/Make_os2.mak	2014-02-05 22:16:46.654560224 +0100
-***************
-*** 35,41 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
---- 35,41 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.166/src/testdir/Make_vms.mms	2013-11-21 14:21:25.000000000 +0100
---- src/testdir/Make_vms.mms	2014-02-05 22:16:46.658560224 +0100
-***************
-*** 79,85 ****
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
---- 79,85 ----
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.4.166/src/testdir/Makefile	2013-11-21 14:21:25.000000000 +0100
---- src/testdir/Makefile	2014-02-05 22:16:46.658560224 +0100
-***************
-*** 30,36 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
---- 30,37 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.166/src/testdir/sautest/autoload/Test104.vim	2014-02-05 22:25:12.050567968 +0100
---- src/testdir/sautest/autoload/Test104.vim	2014-02-05 22:16:46.658560224 +0100
-***************
-*** 0 ****
---- 1 ----
-+ let Test104#numvar = 123
-*** ../vim-7.4.166/src/testdir/test104.in	2014-02-05 22:25:12.062567968 +0100
---- src/testdir/test104.in	2014-02-05 22:24:07.706566982 +0100
-***************
-*** 0 ****
---- 1,16 ----
-+ Tests for autoload.  vim: set ft=vim ts=8 :
-+ 
-+ STARTTEST
-+ :so small.vim
-+ :set runtimepath+=./sautest
-+ :" Test to not autoload when assigning.  It causes internal error.
-+ :try
-+ :  let Test104#numvar = function('tr')
-+ :  $put ='OK: ' . string(Test104#numvar)
-+ :catch
-+ :  $put ='FAIL: ' . v:exception
-+ :endtry
-+ :/^Results/,$wq! test.out
-+ ENDTEST
-+ 
-+ Results of test104:
-*** ../vim-7.4.166/src/testdir/test104.ok	2014-02-05 22:25:12.070567968 +0100
---- src/testdir/test104.ok	2014-02-05 22:16:46.658560224 +0100
-***************
-*** 0 ****
---- 1,2 ----
-+ Results of test104:
-+ OK: function('tr')
-*** ../vim-7.4.166/src/version.c	2014-02-05 22:13:02.366556787 +0100
---- src/version.c	2014-02-05 22:18:05.506561432 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     167,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-271. You collect hilarious signatures from all 250 mailing lists you
-     are subscribed to.
-
- /// 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    ///
diff --git a/7.4.168 b/7.4.168
deleted file mode 100644
index ac57dc4..0000000
--- a/7.4.168
+++ /dev/null
@@ -1,91 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.168
-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.168
-Problem:    Can't compile with Ruby 2.1.0.
-Solution:   Add support for new GC. (Kohei Suzuki)
-Files:	    src/if_ruby.c
-
-
-*** ../vim-7.4.167/src/if_ruby.c	2013-05-20 12:47:48.000000000 +0200
---- src/if_ruby.c	2014-02-05 22:35:17.378577243 +0100
-***************
-*** 96,101 ****
---- 96,107 ----
-  # define rb_num2int rb_num2int_stub
-  #endif
-  
-+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 21
-+ /* Ruby 2.1 adds new GC called RGenGC and RARRAY_PTR uses
-+  * rb_gc_writebarrier_unprotect_promoted if USE_RGENGC  */
-+ #  define rb_gc_writebarrier_unprotect_promoted rb_gc_writebarrier_unprotect_promoted_stub
-+ # endif
-+ 
-  #include <ruby.h>
-  #ifdef RUBY19_OR_LATER
-  # include <ruby/encoding.h>
-***************
-*** 373,378 ****
---- 379,388 ----
-  static void* (*ruby_process_options)(int, char**);
-  # endif
-  
-+ # if defined(USE_RGENGC) && USE_RGENGC
-+ static void (*dll_rb_gc_writebarrier_unprotect_promoted)(VALUE);
-+ # endif
-+ 
-  # if defined(RUBY19_OR_LATER) && !defined(PROTO)
-  SIGNED_VALUE rb_num2long_stub(VALUE x)
-  {
-***************
-*** 406,411 ****
---- 416,428 ----
-  #  endif
-  # endif
-  
-+ # if defined(USE_RGENGC) && USE_RGENGC
-+ void rb_gc_writebarrier_unprotect_promoted_stub(VALUE obj)
-+ {
-+     return dll_rb_gc_writebarrier_unprotect_promoted(obj);
-+ }
-+ # endif
-+ 
-  static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */
-  
-  /*
-***************
-*** 521,526 ****
---- 538,546 ----
-  #  endif
-      {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
-  # endif
-+ # if defined(USE_RGENGC) && USE_RGENGC
-+     {"rb_gc_writebarrier_unprotect_promoted", (RUBY_PROC*)&dll_rb_gc_writebarrier_unprotect_promoted},
-+ # endif
-      {"", NULL},
-  };
-  
-*** ../vim-7.4.167/src/version.c	2014-02-05 22:25:29.982568243 +0100
---- src/version.c	2014-02-05 22:36:14.010578111 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     168,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-10E. You start counting in hex.
-
- /// 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    ///
diff --git a/7.4.169 b/7.4.169
deleted file mode 100644
index bfb4c16..0000000
--- a/7.4.169
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.169
-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.169
-Problem:    ":sleep" puts cursor in the wrong column. (Liang Li)
-Solution:   Add the window offset. (Christian Brabandt)
-Files:	    src/ex_docmd.c
-
-
-*** ../vim-7.4.168/src/ex_docmd.c	2014-01-10 15:53:09.000000000 +0100
---- src/ex_docmd.c	2014-02-05 22:45:39.318586773 +0100
-***************
-*** 8371,8377 ****
-      {
-  	n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
-  	if (n >= 0)
-! 	    windgoto((int)n, curwin->w_wcol);
-      }
-  
-      len = eap->line2;
---- 8371,8377 ----
-      {
-  	n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
-  	if (n >= 0)
-! 	    windgoto((int)n, W_WINCOL(curwin) + curwin->w_wcol);
-      }
-  
-      len = eap->line2;
-*** ../vim-7.4.168/src/version.c	2014-02-05 22:41:11.430582669 +0100
---- src/version.c	2014-02-05 22:44:51.458586040 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     169,
-  /**/
-
--- 
-ARTHUR: This new learning amazes me, Sir Bedevere.  Explain again how sheep's
-        bladders may be employed to prevent earthquakes.
-                 "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    ///
diff --git a/7.4.170 b/7.4.170
deleted file mode 100644
index 17de640..0000000
--- a/7.4.170
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.170
-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.170
-Problem:    Some help tags don't work with ":help". (Tim Chase)
-Solution:   Add exceptions.
-Files:	    src/ex_cmds.c
-
-
-*** ../vim-7.4.169/src/ex_cmds.c	2013-11-09 03:31:45.000000000 +0100
---- src/ex_cmds.c	2014-02-11 12:10:43.905946437 +0100
-***************
-*** 5936,5949 ****
-  			       "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
-  			       "/\\?", "/\\z(\\)", "\\=", ":s\\=",
-  			       "[count]", "[quotex]", "[range]",
-! 			       "[pattern]", "\\|", "\\%$"};
-      static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
-  			       "/star", "/\\\\star", "quotestar", "starstar",
-  			       "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)",
-  			       "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
-  			       "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
-  			       "\\[count]", "\\[quotex]", "\\[range]",
-! 			       "\\[pattern]", "\\\\bar", "/\\\\%\\$"};
-      int flags;
-  
-      d = IObuff;		    /* assume IObuff is long enough! */
---- 5936,5953 ----
-  			       "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
-  			       "/\\?", "/\\z(\\)", "\\=", ":s\\=",
-  			       "[count]", "[quotex]", "[range]",
-! 			       "[pattern]", "\\|", "\\%$",
-! 			       "s/\\~", "s/\\U", "s/\\L",
-! 			       "s/\\1", "s/\\2", "s/\\3", "s/\\9"};
-      static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
-  			       "/star", "/\\\\star", "quotestar", "starstar",
-  			       "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)",
-  			       "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
-  			       "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
-  			       "\\[count]", "\\[quotex]", "\\[range]",
-! 			       "\\[pattern]", "\\\\bar", "/\\\\%\\$",
-!                                "s/\\\\\\~", "s/\\\\U", "s/\\\\L",
-! 			       "s/\\\\1", "s/\\\\2", "s/\\\\3", "s/\\\\9"};
-      int flags;
-  
-      d = IObuff;		    /* assume IObuff is long enough! */
-***************
-*** 5982,5988 ****
-  	  /* Replace:
-  	   * "[:...:]" with "\[:...:]"
-  	   * "[++...]" with "\[++...]"
-! 	   * "\{" with "\\{"
-  	   */
-  	    if ((arg[0] == '[' && (arg[1] == ':'
-  			 || (arg[1] == '+' && arg[2] == '+')))
---- 5986,5992 ----
-  	  /* Replace:
-  	   * "[:...:]" with "\[:...:]"
-  	   * "[++...]" with "\[++...]"
-! 	   * "\{" with "\\{"               -- matching "} \}"
-  	   */
-  	    if ((arg[0] == '[' && (arg[1] == ':'
-  			 || (arg[1] == '+' && arg[2] == '+')))
-*** ../vim-7.4.169/src/version.c	2014-02-05 22:46:49.062587842 +0100
---- src/version.c	2014-02-11 11:41:50.433919875 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     170,
-  /**/
-
--- 
-   GALAHAD turns back.  We see from his POV the lovely ZOOT standing by him
-   smiling enchantingly and a number of equally delectable GIRLIES draped
-   around in the seductively poulticed room.  They look at him smilingly and
-   wave.
-                 "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    ///
diff --git a/7.4.171 b/7.4.171
deleted file mode 100644
index cfd3906..0000000
--- a/7.4.171
+++ /dev/null
@@ -1,841 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.171
-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.171
-Problem:    Redo does not set v:count and v:count1.
-Solution:   Use a separate buffer for redo, so that we can set the counts when
-	    performing redo.
-Files:	    src/getchar.c, src/globals.h, src/normal.c, src/proto/getchar.pro,
-	    src/structs.h
-
-
-*** ../vim-7.4.170/src/getchar.c	2013-06-29 13:43:27.000000000 +0200
---- src/getchar.c	2014-02-11 14:54:46.830097259 +0100
-***************
-*** 40,52 ****
-  
-  #define MINIMAL_SIZE 20			/* minimal size for b_str */
-  
-! static struct buffheader redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-! static struct buffheader old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-  #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
-! static struct buffheader save_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-! static struct buffheader save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-  #endif
-! static struct buffheader recordbuff = {{NULL, {NUL}}, NULL, 0, 0};
-  
-  static int typeahead_char = 0;		/* typeahead char that's not flushed */
-  
---- 40,52 ----
-  
-  #define MINIMAL_SIZE 20			/* minimal size for b_str */
-  
-! static buffheader_T redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-! static buffheader_T old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-  #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
-! static buffheader_T save_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-! static buffheader_T save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
-  #endif
-! static buffheader_T recordbuff = {{NULL, {NUL}}, NULL, 0, 0};
-  
-  static int typeahead_char = 0;		/* typeahead char that's not flushed */
-  
-***************
-*** 112,122 ****
-  
-  static int	last_recorded_len = 0;	/* number of last recorded chars */
-  
-! static char_u	*get_buffcont __ARGS((struct buffheader *, int));
-! static void	add_buff __ARGS((struct buffheader *, char_u *, long n));
-! static void	add_num_buff __ARGS((struct buffheader *, long));
-! static void	add_char_buff __ARGS((struct buffheader *, int));
-! static int	read_stuff __ARGS((int advance));
-  static void	start_stuff __ARGS((void));
-  static int	read_redo __ARGS((int, int));
-  static void	copy_redo __ARGS((int));
---- 112,123 ----
-  
-  static int	last_recorded_len = 0;	/* number of last recorded chars */
-  
-! static char_u	*get_buffcont __ARGS((buffheader_T *, int));
-! static void	add_buff __ARGS((buffheader_T *, char_u *, long n));
-! static void	add_num_buff __ARGS((buffheader_T *, long));
-! static void	add_char_buff __ARGS((buffheader_T *, int));
-! static int	read_readbuffers __ARGS((int advance));
-! static int	read_readbuf __ARGS((buffheader_T *buf, int advance));
-  static void	start_stuff __ARGS((void));
-  static int	read_redo __ARGS((int, int));
-  static void	copy_redo __ARGS((int));
-***************
-*** 137,145 ****
-   */
-      void
-  free_buff(buf)
-!     struct buffheader	*buf;
-  {
-!     struct buffblock	*p, *np;
-  
-      for (p = buf->bh_first.b_next; p != NULL; p = np)
-      {
---- 138,146 ----
-   */
-      void
-  free_buff(buf)
-!     buffheader_T	*buf;
-  {
-!     buffblock_T	*p, *np;
-  
-      for (p = buf->bh_first.b_next; p != NULL; p = np)
-      {
-***************
-*** 155,168 ****
-   */
-      static char_u *
-  get_buffcont(buffer, dozero)
-!     struct buffheader	*buffer;
-      int			dozero;	    /* count == zero is not an error */
-  {
-      long_u	    count = 0;
-      char_u	    *p = NULL;
-      char_u	    *p2;
-      char_u	    *str;
-!     struct buffblock *bp;
-  
-      /* compute the total length of the string */
-      for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next)
---- 156,169 ----
-   */
-      static char_u *
-  get_buffcont(buffer, dozero)
-!     buffheader_T	*buffer;
-      int			dozero;	    /* count == zero is not an error */
-  {
-      long_u	    count = 0;
-      char_u	    *p = NULL;
-      char_u	    *p2;
-      char_u	    *str;
-!     buffblock_T *bp;
-  
-      /* compute the total length of the string */
-      for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next)
-***************
-*** 230,240 ****
-   */
-      static void
-  add_buff(buf, s, slen)
-!     struct buffheader	*buf;
-      char_u		*s;
-      long		slen;	/* length of "s" or -1 */
-  {
-!     struct buffblock *p;
-      long_u	    len;
-  
-      if (slen < 0)
---- 231,241 ----
-   */
-      static void
-  add_buff(buf, s, slen)
-!     buffheader_T	*buf;
-      char_u		*s;
-      long		slen;	/* length of "s" or -1 */
-  {
-!     buffblock_T *p;
-      long_u	    len;
-  
-      if (slen < 0)
-***************
-*** 270,276 ****
-  	    len = MINIMAL_SIZE;
-  	else
-  	    len = slen;
-! 	p = (struct buffblock *)lalloc((long_u)(sizeof(struct buffblock) + len),
-  									TRUE);
-  	if (p == NULL)
-  	    return; /* no space, just forget it */
---- 271,277 ----
-  	    len = MINIMAL_SIZE;
-  	else
-  	    len = slen;
-! 	p = (buffblock_T *)lalloc((long_u)(sizeof(buffblock_T) + len),
-  									TRUE);
-  	if (p == NULL)
-  	    return; /* no space, just forget it */
-***************
-*** 289,295 ****
-   */
-      static void
-  add_num_buff(buf, n)
-!     struct buffheader *buf;
-      long	      n;
-  {
-      char_u	number[32];
---- 290,296 ----
-   */
-      static void
-  add_num_buff(buf, n)
-!     buffheader_T *buf;
-      long	      n;
-  {
-      char_u	number[32];
-***************
-*** 304,310 ****
-   */
-      static void
-  add_char_buff(buf, c)
-!     struct buffheader	*buf;
-      int			c;
-  {
-  #ifdef FEAT_MBYTE
---- 305,311 ----
-   */
-      static void
-  add_char_buff(buf, c)
-!     buffheader_T	*buf;
-      int			c;
-  {
-  #ifdef FEAT_MBYTE
-***************
-*** 354,399 ****
-  #endif
-  }
-  
-  /*
-!  * Get one byte from the stuff buffer.
-   * If advance == TRUE go to the next char.
-   * No translation is done K_SPECIAL and CSI are escaped.
-   */
-      static int
-! read_stuff(advance)
-      int		advance;
-  {
-!     char_u		c;
-!     struct buffblock	*curr;
-  
-!     if (stuffbuff.bh_first.b_next == NULL)  /* buffer is empty */
-  	return NUL;
-  
-!     curr = stuffbuff.bh_first.b_next;
-!     c = curr->b_str[stuffbuff.bh_index];
-  
-      if (advance)
-      {
-! 	if (curr->b_str[++stuffbuff.bh_index] == NUL)
-  	{
-! 	    stuffbuff.bh_first.b_next = curr->b_next;
-  	    vim_free(curr);
-! 	    stuffbuff.bh_index = 0;
-  	}
-      }
-      return c;
-  }
-  
-  /*
-!  * Prepare the stuff buffer for reading (if it contains something).
-   */
-      static void
-  start_stuff()
-  {
-!     if (stuffbuff.bh_first.b_next != NULL)
-      {
-! 	stuffbuff.bh_curr = &(stuffbuff.bh_first);
-! 	stuffbuff.bh_space = 0;
-      }
-  }
-  
---- 355,425 ----
-  #endif
-  }
-  
-+ /* First read ahead buffer. Used for translated commands. */
-+ static buffheader_T readbuf1 = {{NULL, {NUL}}, NULL, 0, 0};
-+ 
-+ /* Second read ahead buffer. Used for redo. */
-+ static buffheader_T readbuf2 = {{NULL, {NUL}}, NULL, 0, 0};
-+ 
-  /*
-!  * Get one byte from the read buffers.  Use readbuf1 one first, use readbuf2
-!  * if that one is empty.
-   * If advance == TRUE go to the next char.
-   * No translation is done K_SPECIAL and CSI are escaped.
-   */
-      static int
-! read_readbuffers(advance)
-      int		advance;
-  {
-!     int c;
-! 
-!     c = read_readbuf(&readbuf1, advance);
-!     if (c == NUL)
-! 	c = read_readbuf(&readbuf2, advance);
-!     return c;
-! }
-! 
-!     static int
-! read_readbuf(buf, advance)
-!     buffheader_T    *buf;
-!     int		    advance;
-! {
-!     char_u	c;
-!     buffblock_T	*curr;
-  
-!     if (buf->bh_first.b_next == NULL)  /* buffer is empty */
-  	return NUL;
-  
-!     curr = buf->bh_first.b_next;
-!     c = curr->b_str[buf->bh_index];
-  
-      if (advance)
-      {
-! 	if (curr->b_str[++buf->bh_index] == NUL)
-  	{
-! 	    buf->bh_first.b_next = curr->b_next;
-  	    vim_free(curr);
-! 	    buf->bh_index = 0;
-  	}
-      }
-      return c;
-  }
-  
-  /*
-!  * Prepare the read buffers for reading (if they contains something).
-   */
-      static void
-  start_stuff()
-  {
-!     if (readbuf1.bh_first.b_next != NULL)
-      {
-! 	readbuf1.bh_curr = &(readbuf1.bh_first);
-! 	readbuf1.bh_space = 0;
-!     }
-!     if (readbuf2.bh_first.b_next != NULL)
-!     {
-! 	readbuf2.bh_curr = &(readbuf2.bh_first);
-! 	readbuf2.bh_space = 0;
-      }
-  }
-  
-***************
-*** 403,409 ****
-      int
-  stuff_empty()
-  {
-!     return (stuffbuff.bh_first.b_next == NULL);
-  }
-  
-  /*
---- 429,446 ----
-      int
-  stuff_empty()
-  {
-!     return (readbuf1.bh_first.b_next == NULL
-! 	 && readbuf2.bh_first.b_next == NULL);
-! }
-! 
-! /*
-!  * Return TRUE if readbuf1 is empty.  There may still be redo characters in
-!  * redbuf2.
-!  */
-!     int
-! readbuf1_empty()
-! {
-!     return (readbuf1.bh_first.b_next == NULL);
-  }
-  
-  /*
-***************
-*** 428,434 ****
-      init_typebuf();
-  
-      start_stuff();
-!     while (read_stuff(TRUE) != NUL)
-  	;
-  
-      if (flush_typeahead)	    /* remove all typeahead */
---- 465,471 ----
-      init_typebuf();
-  
-      start_stuff();
-!     while (read_readbuffers(TRUE) != NUL)
-  	;
-  
-      if (flush_typeahead)	    /* remove all typeahead */
-***************
-*** 483,489 ****
-  	redobuff = old_redobuff;
-  	old_redobuff.bh_first.b_next = NULL;
-  	start_stuff();
-! 	while (read_stuff(TRUE) != NUL)
-  	    ;
-      }
-  }
---- 520,526 ----
-  	redobuff = old_redobuff;
-  	old_redobuff.bh_first.b_next = NULL;
-  	start_stuff();
-! 	while (read_readbuffers(TRUE) != NUL)
-  	    ;
-      }
-  }
-***************
-*** 638,644 ****
-  stuffReadbuff(s)
-      char_u	*s;
-  {
-!     add_buff(&stuffbuff, s, -1L);
-  }
-  
-      void
---- 675,681 ----
-  stuffReadbuff(s)
-      char_u	*s;
-  {
-!     add_buff(&readbuf1, s, -1L);
-  }
-  
-      void
-***************
-*** 646,652 ****
-      char_u	*s;
-      long	len;
-  {
-!     add_buff(&stuffbuff, s, len);
-  }
-  
-  #if defined(FEAT_EVAL) || defined(PROTO)
---- 683,689 ----
-      char_u	*s;
-      long	len;
-  {
-!     add_buff(&readbuf1, s, len);
-  }
-  
-  #if defined(FEAT_EVAL) || defined(PROTO)
-***************
-*** 692,698 ****
-  stuffcharReadbuff(c)
-      int		   c;
-  {
-!     add_char_buff(&stuffbuff, c);
-  }
-  
-  /*
---- 729,735 ----
-  stuffcharReadbuff(c)
-      int		   c;
-  {
-!     add_char_buff(&readbuf1, c);
-  }
-  
-  /*
-***************
-*** 702,708 ****
-  stuffnumReadbuff(n)
-      long    n;
-  {
-!     add_num_buff(&stuffbuff, n);
-  }
-  
-  /*
---- 739,745 ----
-  stuffnumReadbuff(n)
-      long    n;
-  {
-!     add_num_buff(&readbuf1, n);
-  }
-  
-  /*
-***************
-*** 718,730 ****
-      int		init;
-      int		old_redo;
-  {
-!     static struct buffblock	*bp;
-!     static char_u		*p;
-!     int				c;
-  #ifdef FEAT_MBYTE
-!     int				n;
-!     char_u			buf[MB_MAXBYTES + 1];
-!     int				i;
-  #endif
-  
-      if (init)
---- 755,767 ----
-      int		init;
-      int		old_redo;
-  {
-!     static buffblock_T	*bp;
-!     static char_u	*p;
-!     int			c;
-  #ifdef FEAT_MBYTE
-!     int			n;
-!     char_u		buf[MB_MAXBYTES + 1];
-!     int			i;
-  #endif
-  
-      if (init)
-***************
-*** 795,805 ****
-      int	    c;
-  
-      while ((c = read_redo(FALSE, old_redo)) != NUL)
-! 	stuffcharReadbuff(c);
-  }
-  
-  /*
-!  * Stuff the redo buffer into the stuffbuff.
-   * Insert the redo count into the command.
-   * If "old_redo" is TRUE, the last but one command is repeated
-   * instead of the last command (inserting text). This is used for
---- 832,842 ----
-      int	    c;
-  
-      while ((c = read_redo(FALSE, old_redo)) != NUL)
-! 	add_char_buff(&readbuf2, c);
-  }
-  
-  /*
-!  * Stuff the redo buffer into readbuf2.
-   * Insert the redo count into the command.
-   * If "old_redo" is TRUE, the last but one command is repeated
-   * instead of the last command (inserting text). This is used for
-***************
-*** 823,835 ****
-      /* copy the buffer name, if present */
-      if (c == '"')
-      {
-! 	add_buff(&stuffbuff, (char_u *)"\"", 1L);
-  	c = read_redo(FALSE, old_redo);
-  
-  	/* if a numbered buffer is used, increment the number */
-  	if (c >= '1' && c < '9')
-  	    ++c;
-! 	add_char_buff(&stuffbuff, c);
-  	c = read_redo(FALSE, old_redo);
-      }
-  
---- 860,872 ----
-      /* copy the buffer name, if present */
-      if (c == '"')
-      {
-! 	add_buff(&readbuf2, (char_u *)"\"", 1L);
-  	c = read_redo(FALSE, old_redo);
-  
-  	/* if a numbered buffer is used, increment the number */
-  	if (c >= '1' && c < '9')
-  	    ++c;
-! 	add_char_buff(&readbuf2, c);
-  	c = read_redo(FALSE, old_redo);
-      }
-  
-***************
-*** 850,867 ****
-      {
-  	while (VIM_ISDIGIT(c))	/* skip "old" count */
-  	    c = read_redo(FALSE, old_redo);
-! 	add_num_buff(&stuffbuff, count);
-      }
-  
-      /* copy from the redo buffer into the stuff buffer */
-!     add_char_buff(&stuffbuff, c);
-      copy_redo(old_redo);
-      return OK;
-  }
-  
-  /*
-   * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing
-!  * the redo buffer into the stuffbuff.
-   * return FAIL for failure, OK otherwise
-   */
-      int
---- 887,904 ----
-      {
-  	while (VIM_ISDIGIT(c))	/* skip "old" count */
-  	    c = read_redo(FALSE, old_redo);
-! 	add_num_buff(&readbuf2, count);
-      }
-  
-      /* copy from the redo buffer into the stuff buffer */
-!     add_char_buff(&readbuf2, c);
-      copy_redo(old_redo);
-      return OK;
-  }
-  
-  /*
-   * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing
-!  * the redo buffer into readbuf2.
-   * return FAIL for failure, OK otherwise
-   */
-      int
-***************
-*** 879,885 ****
-  	if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL)
-  	{
-  	    if (c == 'O' || c == 'o')
-! 		stuffReadbuff(NL_STR);
-  	    break;
-  	}
-      }
---- 916,922 ----
-  	if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL)
-  	{
-  	    if (c == 'O' || c == 'o')
-! 		add_buff(&readbuf2, NL_STR, -1L);
-  	    break;
-  	}
-      }
-***************
-*** 1360,1367 ****
-      tp->old_mod_mask = old_mod_mask;
-      old_char = -1;
-  
-!     tp->save_stuffbuff = stuffbuff;
-!     stuffbuff.bh_first.b_next = NULL;
-  # ifdef USE_INPUT_BUF
-      tp->save_inputbuf = get_input_buf();
-  # endif
---- 1397,1406 ----
-      tp->old_mod_mask = old_mod_mask;
-      old_char = -1;
-  
-!     tp->save_readbuf1 = readbuf1;
-!     readbuf1.bh_first.b_next = NULL;
-!     tp->save_readbuf2 = readbuf2;
-!     readbuf2.bh_first.b_next = NULL;
-  # ifdef USE_INPUT_BUF
-      tp->save_inputbuf = get_input_buf();
-  # endif
-***************
-*** 1384,1391 ****
-      old_char = tp->old_char;
-      old_mod_mask = tp->old_mod_mask;
-  
-!     free_buff(&stuffbuff);
-!     stuffbuff = tp->save_stuffbuff;
-  # ifdef USE_INPUT_BUF
-      set_input_buf(tp->save_inputbuf);
-  # endif
---- 1423,1432 ----
-      old_char = tp->old_char;
-      old_mod_mask = tp->old_mod_mask;
-  
-!     free_buff(&readbuf1);
-!     readbuf1 = tp->save_readbuf1;
-!     free_buff(&readbuf2);
-!     readbuf2 = tp->save_readbuf2;
-  # ifdef USE_INPUT_BUF
-      set_input_buf(tp->save_inputbuf);
-  # endif
-***************
-*** 1992,1998 ****
-  		typeahead_char = 0;
-  	}
-  	else
-! 	    c = read_stuff(advance);
-  	if (c != NUL && !got_int)
-  	{
-  	    if (advance)
---- 2033,2039 ----
-  		typeahead_char = 0;
-  	}
-  	else
-! 	    c = read_readbuffers(advance);
-  	if (c != NUL && !got_int)
-  	{
-  	    if (advance)
-*** ../vim-7.4.170/src/globals.h	2013-11-09 03:31:45.000000000 +0100
---- src/globals.h	2014-02-11 14:17:44.070063200 +0100
-***************
-*** 979,989 ****
-  EXTERN int	readonlymode INIT(= FALSE); /* Set to TRUE for "view" */
-  EXTERN int	recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */
-  
-- EXTERN struct buffheader stuffbuff	/* stuff buffer */
-- #ifdef DO_INIT
-- 		    = {{NULL, {NUL}}, NULL, 0, 0}
-- #endif
-- 		    ;
-  EXTERN typebuf_T typebuf		/* typeahead buffer */
-  #ifdef DO_INIT
-  		    = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0}
---- 979,984 ----
-*** ../vim-7.4.170/src/normal.c	2014-01-14 13:18:53.000000000 +0100
---- src/normal.c	2014-02-11 14:53:54.246096453 +0100
-***************
-*** 655,662 ****
-  #ifdef FEAT_EVAL
-      /* Set v:count here, when called from main() and not a stuffed
-       * command, so that v:count can be used in an expression mapping
-!      * when there is no count. */
-!     if (toplevel && stuff_empty())
-  	set_vcount_ca(&ca, &set_prevcount);
-  #endif
-  
---- 655,662 ----
-  #ifdef FEAT_EVAL
-      /* Set v:count here, when called from main() and not a stuffed
-       * command, so that v:count can be used in an expression mapping
-!      * when there is no count. Do set it for redo. */
-!     if (toplevel && readbuf1_empty())
-  	set_vcount_ca(&ca, &set_prevcount);
-  #endif
-  
-***************
-*** 736,743 ****
-  #ifdef FEAT_EVAL
-  	    /* Set v:count here, when called from main() and not a stuffed
-  	     * command, so that v:count can be used in an expression mapping
-! 	     * right after the count. */
-! 	    if (toplevel && stuff_empty())
-  		set_vcount_ca(&ca, &set_prevcount);
-  #endif
-  	    if (ctrl_w)
---- 736,743 ----
-  #ifdef FEAT_EVAL
-  	    /* Set v:count here, when called from main() and not a stuffed
-  	     * command, so that v:count can be used in an expression mapping
-! 	     * right after the count. Do set it for redo. */
-! 	    if (toplevel && readbuf1_empty())
-  		set_vcount_ca(&ca, &set_prevcount);
-  #endif
-  	    if (ctrl_w)
-***************
-*** 819,826 ****
-  #ifdef FEAT_EVAL
-      /*
-       * Only set v:count when called from main() and not a stuffed command.
-       */
-!     if (toplevel && stuff_empty())
-  	set_vcount(ca.count0, ca.count1, set_prevcount);
-  #endif
-  
---- 819,827 ----
-  #ifdef FEAT_EVAL
-      /*
-       * Only set v:count when called from main() and not a stuffed command.
-+      * Do set it for redo.
-       */
-!     if (toplevel && readbuf1_empty())
-  	set_vcount(ca.count0, ca.count1, set_prevcount);
-  #endif
-  
-*** ../vim-7.4.170/src/proto/getchar.pro	2013-08-10 13:37:12.000000000 +0200
---- src/proto/getchar.pro	2014-02-11 14:55:14.806097687 +0100
-***************
-*** 1,8 ****
-  /* getchar.c */
-! void free_buff __ARGS((struct buffheader *buf));
-  char_u *get_recorded __ARGS((void));
-  char_u *get_inserted __ARGS((void));
-  int stuff_empty __ARGS((void));
-  void typeahead_noflush __ARGS((int c));
-  void flush_buffers __ARGS((int flush_typeahead));
-  void ResetRedobuff __ARGS((void));
---- 1,9 ----
-  /* getchar.c */
-! void free_buff __ARGS((buffheader_T *buf));
-  char_u *get_recorded __ARGS((void));
-  char_u *get_inserted __ARGS((void));
-  int stuff_empty __ARGS((void));
-+ int readbuf1_empty __ARGS((void));
-  void typeahead_noflush __ARGS((int c));
-  void flush_buffers __ARGS((int flush_typeahead));
-  void ResetRedobuff __ARGS((void));
-*** ../vim-7.4.170/src/structs.h	2013-11-12 04:43:57.000000000 +0100
---- src/structs.h	2014-02-11 14:35:43.606079741 +0100
-***************
-*** 471,483 ****
-      blocknr_T	nt_new_bnum;		/* new, positive, number */
-  };
-  
-  /*
-   * structure used to store one block of the stuff/redo/recording buffers
-   */
-  struct buffblock
-  {
-!     struct buffblock	*b_next;	/* pointer to next buffblock */
-!     char_u		b_str[1];	/* contents (actually longer) */
-  };
-  
-  /*
---- 471,487 ----
-      blocknr_T	nt_new_bnum;		/* new, positive, number */
-  };
-  
-+ 
-+ typedef struct buffblock buffblock_T;
-+ typedef struct buffheader buffheader_T;
-+ 
-  /*
-   * structure used to store one block of the stuff/redo/recording buffers
-   */
-  struct buffblock
-  {
-!     buffblock_T	*b_next;	/* pointer to next buffblock */
-!     char_u	b_str[1];	/* contents (actually longer) */
-  };
-  
-  /*
-***************
-*** 485,494 ****
-   */
-  struct buffheader
-  {
-!     struct buffblock	bh_first;	/* first (dummy) block of list */
-!     struct buffblock	*bh_curr;	/* buffblock for appending */
-!     int			bh_index;	/* index for reading */
-!     int			bh_space;	/* space in bh_curr for appending */
-  };
-  
-  /*
---- 489,498 ----
-   */
-  struct buffheader
-  {
-!     buffblock_T	bh_first;	/* first (dummy) block of list */
-!     buffblock_T	*bh_curr;	/* buffblock for appending */
-!     int		bh_index;	/* index for reading */
-!     int		bh_space;	/* space in bh_curr for appending */
-  };
-  
-  /*
-***************
-*** 964,970 ****
-      int			typebuf_valid;	    /* TRUE when save_typebuf valid */
-      int			old_char;
-      int			old_mod_mask;
-!     struct buffheader	save_stuffbuff;
-  #ifdef USE_INPUT_BUF
-      char_u		*save_inputbuf;
-  #endif
---- 968,975 ----
-      int			typebuf_valid;	    /* TRUE when save_typebuf valid */
-      int			old_char;
-      int			old_mod_mask;
-!     buffheader_T	save_readbuf1;
-!     buffheader_T	save_readbuf2;
-  #ifdef USE_INPUT_BUF
-      char_u		*save_inputbuf;
-  #endif
-*** ../vim-7.4.170/src/version.c	2014-02-11 12:15:39.781950970 +0100
---- src/version.c	2014-02-11 15:05:17.306106920 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     171,
-  /**/
-
--- 
-Linux is just like a wigwam: no Windows, no Gates and an Apache inside.
-
- /// 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    ///
diff --git a/7.4.172 b/7.4.172
deleted file mode 100644
index 8ad9fca..0000000
--- a/7.4.172
+++ /dev/null
@@ -1,346 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.172
-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.172
-Problem:    The blowfish code mentions output feedback, but the code is
-	    actually doing cipher feedback.
-Solution:   Adjust names and comments.
-Files:	    src/blowfish.c, src/fileio.c, src/proto/blowfish.pro,
-	    src/memline.c
-
-
-*** ../vim-7.4.171/src/blowfish.c	2010-12-17 19:58:18.000000000 +0100
---- src/blowfish.c	2014-02-11 15:18:12.882118804 +0100
-***************
-*** 6,12 ****
-   * Do ":help credits" in Vim to see a list of people who contributed.
-   * See README.txt for an overview of the Vim source code.
-   *
-!  * Blowfish encryption for Vim; in Blowfish output feedback mode.
-   * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
-   * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
-   */
---- 6,12 ----
-   * Do ":help credits" in Vim to see a list of people who contributed.
-   * See README.txt for an overview of the Vim source code.
-   *
-!  * Blowfish encryption for Vim; in Blowfish cipher feedback mode.
-   * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
-   * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
-   */
-***************
-*** 19,25 ****
-  
-  #define BF_BLOCK    8
-  #define BF_BLOCK_MASK 7
-! #define BF_OFB_LEN  (8*(BF_BLOCK))
-  
-  typedef union {
-      UINT32_T ul[2];
---- 19,25 ----
-  
-  #define BF_BLOCK    8
-  #define BF_BLOCK_MASK 7
-! #define BF_CFB_LEN  (8*(BF_BLOCK))
-  
-  typedef union {
-      UINT32_T ul[2];
-***************
-*** 554,595 ****
-      return err > 0 ? FAIL : OK;
-  }
-  
-! /* Output feedback mode. */
-  static int randbyte_offset = 0;
-  static int update_offset = 0;
-! static char_u ofb_buffer[BF_OFB_LEN]; /* 64 bytes */
-  
-  /*
-   * Initialize with seed "iv[iv_len]".
-   */
-      void
-! bf_ofb_init(iv, iv_len)
-      char_u *iv;
-      int    iv_len;
-  {
-      int i, mi;
-  
-      randbyte_offset = update_offset = 0;
-!     vim_memset(ofb_buffer, 0, BF_OFB_LEN);
-      if (iv_len > 0)
-      {
-! 	mi = iv_len > BF_OFB_LEN ? iv_len : BF_OFB_LEN;
-  	for (i = 0; i < mi; i++)
-! 	    ofb_buffer[i % BF_OFB_LEN] ^= iv[i % iv_len];
-      }
-  }
-  
-! #define BF_OFB_UPDATE(c) { \
-!     ofb_buffer[update_offset] ^= (char_u)c; \
-!     if (++update_offset == BF_OFB_LEN) \
-  	update_offset = 0; \
-  }
-  
-  #define BF_RANBYTE(t) { \
-      if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
-! 	bf_e_cblock(&ofb_buffer[randbyte_offset]); \
-!     t = ofb_buffer[randbyte_offset]; \
-!     if (++randbyte_offset == BF_OFB_LEN) \
-  	randbyte_offset = 0; \
-  }
-  
---- 554,595 ----
-      return err > 0 ? FAIL : OK;
-  }
-  
-! /* Cipher feedback mode. */
-  static int randbyte_offset = 0;
-  static int update_offset = 0;
-! static char_u cfb_buffer[BF_CFB_LEN]; /* 64 bytes */
-  
-  /*
-   * Initialize with seed "iv[iv_len]".
-   */
-      void
-! bf_cfb_init(iv, iv_len)
-      char_u *iv;
-      int    iv_len;
-  {
-      int i, mi;
-  
-      randbyte_offset = update_offset = 0;
-!     vim_memset(cfb_buffer, 0, BF_CFB_LEN);
-      if (iv_len > 0)
-      {
-! 	mi = iv_len > BF_CFB_LEN ? iv_len : BF_CFB_LEN;
-  	for (i = 0; i < mi; i++)
-! 	    cfb_buffer[i % BF_CFB_LEN] ^= iv[i % iv_len];
-      }
-  }
-  
-! #define BF_CFB_UPDATE(c) { \
-!     cfb_buffer[update_offset] ^= (char_u)c; \
-!     if (++update_offset == BF_CFB_LEN) \
-  	update_offset = 0; \
-  }
-  
-  #define BF_RANBYTE(t) { \
-      if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
-! 	bf_e_cblock(&cfb_buffer[randbyte_offset]); \
-!     t = cfb_buffer[randbyte_offset]; \
-!     if (++randbyte_offset == BF_CFB_LEN) \
-  	randbyte_offset = 0; \
-  }
-  
-***************
-*** 610,616 ****
-      {
-  	ztemp = from[i];
-  	BF_RANBYTE(t);
-! 	BF_OFB_UPDATE(ztemp);
-  	to[i] = t ^ ztemp;
-      }
-  }
---- 610,616 ----
-      {
-  	ztemp = from[i];
-  	BF_RANBYTE(t);
-! 	BF_CFB_UPDATE(ztemp);
-  	to[i] = t ^ ztemp;
-      }
-  }
-***************
-*** 630,636 ****
-      {
-  	BF_RANBYTE(t);
-  	*p ^= t;
-! 	BF_OFB_UPDATE(*p);
-      }
-  }
-  
---- 630,636 ----
-      {
-  	BF_RANBYTE(t);
-  	*p ^= t;
-! 	BF_CFB_UPDATE(*p);
-      }
-  }
-  
-***************
-*** 646,658 ****
-  
-      for (p = passwd; *p != NUL; ++p)
-      {
-! 	BF_OFB_UPDATE(*p);
-      }
-  }
-  
-  static int save_randbyte_offset;
-  static int save_update_offset;
-! static char_u save_ofb_buffer[BF_OFB_LEN];
-  static UINT32_T save_pax[18];
-  static UINT32_T save_sbx[4][256];
-  
---- 646,658 ----
-  
-      for (p = passwd; *p != NUL; ++p)
-      {
-! 	BF_CFB_UPDATE(*p);
-      }
-  }
-  
-  static int save_randbyte_offset;
-  static int save_update_offset;
-! static char_u save_cfb_buffer[BF_CFB_LEN];
-  static UINT32_T save_pax[18];
-  static UINT32_T save_sbx[4][256];
-  
-***************
-*** 665,671 ****
-  {
-      save_randbyte_offset = randbyte_offset;
-      save_update_offset = update_offset;
-!     mch_memmove(save_ofb_buffer, ofb_buffer, BF_OFB_LEN);
-      mch_memmove(save_pax, pax, 4 * 18);
-      mch_memmove(save_sbx, sbx, 4 * 4 * 256);
-  }
---- 665,671 ----
-  {
-      save_randbyte_offset = randbyte_offset;
-      save_update_offset = update_offset;
-!     mch_memmove(save_cfb_buffer, cfb_buffer, BF_CFB_LEN);
-      mch_memmove(save_pax, pax, 4 * 18);
-      mch_memmove(save_sbx, sbx, 4 * 4 * 256);
-  }
-***************
-*** 679,685 ****
-  {
-      randbyte_offset = save_randbyte_offset;
-      update_offset = save_update_offset;
-!     mch_memmove(ofb_buffer, save_ofb_buffer, BF_OFB_LEN);
-      mch_memmove(pax, save_pax, 4 * 18);
-      mch_memmove(sbx, save_sbx, 4 * 4 * 256);
-  }
---- 679,685 ----
-  {
-      randbyte_offset = save_randbyte_offset;
-      update_offset = save_update_offset;
-!     mch_memmove(cfb_buffer, save_cfb_buffer, BF_CFB_LEN);
-      mch_memmove(pax, save_pax, 4 * 18);
-      mch_memmove(sbx, save_sbx, 4 * 4 * 256);
-  }
-*** ../vim-7.4.171/src/fileio.c	2013-11-28 18:53:47.000000000 +0100
---- src/fileio.c	2014-02-11 15:16:57.546117649 +0100
-***************
-*** 2973,2979 ****
-  	    else
-  	    {
-  		bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
-! 		bf_ofb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
-  	    }
-  
-  	    /* Remove magic number from the text */
---- 2973,2979 ----
-  	    else
-  	    {
-  		bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
-! 		bf_cfb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
-  	    }
-  
-  	    /* Remove magic number from the text */
-***************
-*** 3025,3031 ****
-  	if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
-  	    return FAIL;
-  	bf_key_init(curbuf->b_p_key, buffer, salt_len);
-! 	bf_ofb_init(buffer + salt_len, seed_len);
-      }
-      return OK;
-  }
---- 3025,3031 ----
-  	if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
-  	    return FAIL;
-  	bf_key_init(curbuf->b_p_key, buffer, salt_len);
-! 	bf_cfb_init(buffer + salt_len, seed_len);
-      }
-      return OK;
-  }
-***************
-*** 3064,3070 ****
-  	    seed = salt + salt_len;
-  	    sha2_seed(salt, salt_len, seed, seed_len);
-  	    bf_key_init(buf->b_p_key, salt, salt_len);
-! 	    bf_ofb_init(seed, seed_len);
-  	}
-      }
-      *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
---- 3064,3070 ----
-  	    seed = salt + salt_len;
-  	    sha2_seed(salt, salt_len, seed, seed_len);
-  	    bf_key_init(buf->b_p_key, salt, salt_len);
-! 	    bf_cfb_init(seed, seed_len);
-  	}
-      }
-      *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
-*** ../vim-7.4.171/src/proto/blowfish.pro	2013-08-10 13:37:06.000000000 +0200
---- src/proto/blowfish.pro	2014-02-11 15:18:20.382118919 +0100
-***************
-*** 1,6 ****
-  /* blowfish.c */
-  void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
-! void bf_ofb_init __ARGS((char_u *iv, int iv_len));
-  void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
-  void bf_crypt_decode __ARGS((char_u *ptr, long len));
-  void bf_crypt_init_keys __ARGS((char_u *passwd));
---- 1,6 ----
-  /* blowfish.c */
-  void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
-! void bf_cfb_init __ARGS((char_u *iv, int iv_len));
-  void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
-  void bf_crypt_decode __ARGS((char_u *ptr, long len));
-  void bf_crypt_init_keys __ARGS((char_u *passwd));
-*** ../vim-7.4.171/src/memline.c	2013-11-28 17:41:41.000000000 +0100
---- src/memline.c	2014-02-11 15:17:02.190117720 +0100
-***************
-*** 4914,4920 ****
-  	 * block for the salt. */
-  	vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
-  	bf_key_init(key, salt, (int)STRLEN(salt));
-! 	bf_ofb_init(seed, MF_SEED_LEN);
-      }
-  }
-  
---- 4914,4920 ----
-  	 * block for the salt. */
-  	vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
-  	bf_key_init(key, salt, (int)STRLEN(salt));
-! 	bf_cfb_init(seed, MF_SEED_LEN);
-      }
-  }
-  
-*** ../vim-7.4.171/src/version.c	2014-02-11 15:10:38.138111836 +0100
---- src/version.c	2014-02-11 15:16:01.206116786 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     172,
-  /**/
-
--- 
-GALAHAD: No look, really, this isn't nescess ...
-PIGLET:  We must examine you.
-GALAHAD: There's nothing wrong with ... 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    ///
diff --git a/7.4.173 b/7.4.173
deleted file mode 100644
index 1756bdc..0000000
--- a/7.4.173
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.173
-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.173
-Problem:    When using scrollbind the cursor can end up below the last line.
-	    (mvxxc)
-Solution:   Reset w_botfill when scrolling up. (Christian Brabandt)
-Files:	    src/move.c
-
-
-*** ../vim-7.4.172/src/move.c	2012-11-28 18:15:42.000000000 +0100
---- src/move.c	2014-02-11 15:39:24.758138292 +0100
-***************
-*** 2101,2106 ****
---- 2101,2107 ----
-      int		used;
-      lineoff_T	loff;
-      lineoff_T	boff;
-+     linenr_T	old_topline = curwin->w_topline;
-  
-      loff.lnum = boff.lnum = curwin->w_cursor.lnum;
-  #ifdef FEAT_FOLDING
-***************
-*** 2156,2161 ****
---- 2157,2164 ----
-  	curwin->w_topline = topline;
-  #ifdef FEAT_DIFF
-      curwin->w_topfill = topfill;
-+     if (old_topline > curwin->w_topline + curwin->w_height)
-+ 	curwin->w_botfill = FALSE;
-      check_topfill(curwin, FALSE);
-  #endif
-      curwin->w_valid &= ~(VALID_WROW|VALID_CROW|VALID_BOTLINE|VALID_BOTLINE_AP);
-*** ../vim-7.4.172/src/version.c	2014-02-11 15:23:27.942123631 +0100
---- src/version.c	2014-02-11 15:38:34.562137523 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     173,
-  /**/
-
--- 
-   GALAHAD hurries to the door and pushes through it.  As he leaves the room
-   we CUT TO the reverse to show that he is now in a room full of bathing
-   and romping GIRLIES, all innocent, wide-eyed and beautiful.  They smile
-   enchantingly at him as he tries to keep walking without being diverted by
-   the lovely sights assaulting his eyeballs.
-                 "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    ///
diff --git a/7.4.174 b/7.4.174
deleted file mode 100644
index 827e65c..0000000
--- a/7.4.174
+++ /dev/null
@@ -1,94 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.174
-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.174
-Problem:    Compiler warnings for Python interface. (Tony Mechelynck)
-Solution:   Add type casts, initialize variable.
-Files:	    src/if_py_both.h
-
-
-*** ../vim-7.4.173/src/if_py_both.h	2014-01-31 14:53:59.715533645 +0100
---- src/if_py_both.h	2014-02-11 15:57:30.678154932 +0100
-***************
-*** 2368,2374 ****
-      PyInt	numreplaced = 0;
-      PyInt	numadded = 0;
-      PyInt	size;
-!     listitem_T	**lis;
-  
-      size = ListLength(self);
-  
---- 2368,2374 ----
-      PyInt	numreplaced = 0;
-      PyInt	numadded = 0;
-      PyInt	size;
-!     listitem_T	**lis = NULL;
-  
-      size = ListLength(self);
-  
-***************
-*** 2503,2510 ****
-  	{
-  	    Py_DECREF(iterator);
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater then %d "
-! 			"to extended slice"), slicelen);
-  	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	    PyMem_Free(lis);
-  	    return -1;
---- 2503,2510 ----
-  	{
-  	    Py_DECREF(iterator);
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater then %ld "
-! 			"to extended slice"), (long)slicelen);
-  	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	    PyMem_Free(lis);
-  	    return -1;
-***************
-*** 2516,2523 ****
-      if (step != 1 && i != slicelen)
-      {
-  	PyErr_FORMAT2(PyExc_ValueError,
-! 		N_("attempt to assign sequence of size %d to extended slice "
-! 		    "of size %d"), i, slicelen);
-  	list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	PyMem_Free(lis);
-  	return -1;
---- 2516,2523 ----
-      if (step != 1 && i != slicelen)
-      {
-  	PyErr_FORMAT2(PyExc_ValueError,
-! 		N_("attempt to assign sequence of size %ld to extended slice "
-! 		    "of size %ld"), (long)i, (long)slicelen);
-  	list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	PyMem_Free(lis);
-  	return -1;
-*** ../vim-7.4.173/src/version.c	2014-02-11 15:47:41.382145902 +0100
---- src/version.c	2014-02-11 15:59:04.646156372 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     174,
-  /**/
-
--- 
-DINGO:   You must spank her well and after you have spanked her you
-         may deal with her as you like and then ... spank me.
-AMAZING: And spank me!
-STUNNER: And me.
-LOVELY:  And me.
-                 "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    ///
diff --git a/7.4.175 b/7.4.175
deleted file mode 100644
index 99ca390..0000000
--- a/7.4.175
+++ /dev/null
@@ -1,180 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.175
-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.175
-Problem:    When a wide library function fails, falling back to the non-wide
-	    function may do the wrong thing.
-Solution:   Check the platform, when the wide function is supported don't fall
-	    back to the non-wide function. (Ken Takata)
-Files:	    src/os_mswin.c, src/os_win32.c
-
-
-*** ../vim-7.4.174/src/os_mswin.c	2014-01-14 12:18:41.000000000 +0100
---- src/os_mswin.c	2014-02-11 17:02:03.002214267 +0100
-***************
-*** 648,654 ****
-  	{
-  	    n = wstat_symlink_aware(wp, (struct _stat *)stp);
-  	    vim_free(wp);
-! 	    if (n >= 0)
-  		return n;
-  	    /* Retry with non-wide function (for Windows 98). Can't use
-  	     * GetLastError() here and it's unclear what errno gets set to if
---- 648,654 ----
-  	{
-  	    n = wstat_symlink_aware(wp, (struct _stat *)stp);
-  	    vim_free(wp);
-! 	    if (n >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
-  		return n;
-  	    /* Retry with non-wide function (for Windows 98). Can't use
-  	     * GetLastError() here and it's unclear what errno gets set to if
-***************
-*** 815,822 ****
-  	{
-  	    n = _wchdir(p);
-  	    vim_free(p);
-! 	    if (n == 0)
-! 		return 0;
-  	    /* Retry with non-wide function (for Windows 98). */
-  	}
-      }
---- 815,822 ----
-  	{
-  	    n = _wchdir(p);
-  	    vim_free(p);
-! 	    if (n == 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
-! 		return n;
-  	    /* Retry with non-wide function (for Windows 98). */
-  	}
-      }
-***************
-*** 1942,1949 ****
-  
-  shortcut_errorw:
-  		vim_free(p);
-! 		if (hr == S_OK)
-! 		    goto shortcut_end;
-  	    }
-  	}
-  	/* Retry with non-wide function (for Windows 98). */
---- 1942,1948 ----
-  
-  shortcut_errorw:
-  		vim_free(p);
-! 		goto shortcut_end;
-  	    }
-  	}
-  	/* Retry with non-wide function (for Windows 98). */
-*** ../vim-7.4.174/src/os_win32.c	2014-02-05 14:02:23.590105699 +0100
---- src/os_win32.c	2014-02-11 16:59:26.810211874 +0100
-***************
-*** 2877,2882 ****
---- 2877,2884 ----
-  		return OK;
-  	    }
-  	}
-+ 	else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
-+ 	    return FAIL;
-  	/* Retry with non-wide function (for Windows 98). */
-      }
-  #endif
-***************
-*** 2917,2922 ****
---- 2919,2926 ----
-  		return;
-  	    }
-  	}
-+ 	else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
-+ 	    return;
-  	/* Retry with non-wide function (for Windows 98). */
-      }
-  #endif
-***************
-*** 2966,2971 ****
---- 2970,2977 ----
-  		return OK;
-  	    }
-  	}
-+ 	else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
-+ 	    return FAIL;
-  	/* Retry with non-wide function (for Windows 98). */
-      }
-  #endif
-***************
-*** 3006,3012 ****
-  	{
-  	    n = _wchmod(p, perm);
-  	    vim_free(p);
-! 	    if (n == -1 && GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
-  		return FAIL;
-  	    /* Retry with non-wide function (for Windows 98). */
-  	}
---- 3012,3018 ----
-  	{
-  	    n = _wchmod(p, perm);
-  	    vim_free(p);
-! 	    if (n == -1 && g_PlatformId == VER_PLATFORM_WIN32_NT)
-  		return FAIL;
-  	    /* Retry with non-wide function (for Windows 98). */
-  	}
-***************
-*** 6048,6054 ****
-  	{
-  	    f = _wopen(wn, flags, mode);
-  	    vim_free(wn);
-! 	    if (f >= 0)
-  		return f;
-  	    /* Retry with non-wide function (for Windows 98). Can't use
-  	     * GetLastError() here and it's unclear what errno gets set to if
---- 6054,6060 ----
-  	{
-  	    f = _wopen(wn, flags, mode);
-  	    vim_free(wn);
-! 	    if (f >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
-  		return f;
-  	    /* Retry with non-wide function (for Windows 98). Can't use
-  	     * GetLastError() here and it's unclear what errno gets set to if
-***************
-*** 6099,6105 ****
-  	_set_fmode(oldMode);
-  # endif
-  
-! 	if (f != NULL)
-  	    return f;
-  	/* Retry with non-wide function (for Windows 98). Can't use
-  	 * GetLastError() here and it's unclear what errno gets set to if
---- 6105,6111 ----
-  	_set_fmode(oldMode);
-  # endif
-  
-! 	if (f != NULL || g_PlatformId == VER_PLATFORM_WIN32_NT)
-  	    return f;
-  	/* Retry with non-wide function (for Windows 98). Can't use
-  	 * GetLastError() here and it's unclear what errno gets set to if
-*** ../vim-7.4.174/src/version.c	2014-02-11 16:00:31.198157698 +0100
---- src/version.c	2014-02-11 16:33:10.002187713 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     175,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.176 b/7.4.176
deleted file mode 100644
index ccde6b6..0000000
--- a/7.4.176
+++ /dev/null
@@ -1,91 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.176
-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.176
-Problem:    Dictionary.update() thows an error when used without arguments.
-	    Python programmers don't expect that.
-Solution:   Make Dictionary.update() without arguments do nothing. (ZyX)
-Files:	    src/if_py_both.h, src/testdir/test86.in, src/testdir/test87.in
-
-
-*** ../vim-7.4.175/src/if_py_both.h	2014-02-11 16:00:31.198157698 +0100
---- src/if_py_both.h	2014-02-11 18:41:12.774305435 +0100
-***************
-*** 1918,1928 ****
-      }
-      else
-      {
-! 	PyObject	*obj;
-  
-! 	if (!PyArg_ParseTuple(args, "O", &obj))
-  	    return NULL;
-  
-  	if (PyObject_HasAttrString(obj, "keys"))
-  	    return DictionaryUpdate(self, NULL, obj);
-  	else
---- 1919,1935 ----
-      }
-      else
-      {
-! 	PyObject	*obj = NULL;
-  
-! 	if (!PyArg_ParseTuple(args, "|O", &obj))
-  	    return NULL;
-  
-+ 	if (obj == NULL)
-+ 	{
-+ 	    Py_INCREF(Py_None);
-+ 	    return Py_None;
-+ 	}
-+ 
-  	if (PyObject_HasAttrString(obj, "keys"))
-  	    return DictionaryUpdate(self, NULL, obj);
-  	else
-*** ../vim-7.4.175/src/testdir/test86.in	2014-01-14 16:54:53.000000000 +0100
---- src/testdir/test86.in	2014-02-11 17:25:08.414235496 +0100
-***************
-*** 39,44 ****
---- 39,45 ----
-  py << EOF
-  d=vim.bindeval('d')
-  d['1']='asd'
-+ d.update()  # Must not do anything, including throwing errors
-  d.update(b=[1, 2, f])
-  d.update((('-1', {'a': 1}),))
-  d.update({'0': -1})
-*** ../vim-7.4.175/src/testdir/test87.in	2014-01-14 16:54:53.000000000 +0100
---- src/testdir/test87.in	2014-02-11 17:25:12.602235560 +0100
-***************
-*** 33,38 ****
---- 33,39 ----
-  py3 << EOF
-  d=vim.bindeval('d')
-  d['1']='asd'
-+ d.update()  # Must not do anything, including throwing errors
-  d.update(b=[1, 2, f])
-  d.update((('-1', {'a': 1}),))
-  d.update({'0': -1})
-*** ../vim-7.4.175/src/version.c	2014-02-11 17:05:57.282217857 +0100
---- src/version.c	2014-02-11 18:46:37.518310411 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     176,
-  /**/
-
--- 
-"Intelligence has much less practical application than you'd think."
-		  -- Scott Adams, Dilbert.
-
- /// 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    ///
diff --git a/7.4.177 b/7.4.177
deleted file mode 100644
index b943a19..0000000
--- a/7.4.177
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.177
-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.177
-Problem:    Compiler warning for unused variable. (Tony Mechelynck)
-Solution:   Add #ifdef.
-Files:	    src/move.c
-
-
-*** ../vim-7.4.176/src/move.c	2014-02-11 15:47:41.382145902 +0100
---- src/move.c	2014-02-11 18:13:57.378280376 +0100
-***************
-*** 2101,2107 ****
---- 2101,2109 ----
-      int		used;
-      lineoff_T	loff;
-      lineoff_T	boff;
-+ #ifdef FEAT_DIFF
-      linenr_T	old_topline = curwin->w_topline;
-+ #endif
-  
-      loff.lnum = boff.lnum = curwin->w_cursor.lnum;
-  #ifdef FEAT_FOLDING
-*** ../vim-7.4.176/src/version.c	2014-02-11 18:47:18.682311042 +0100
---- src/version.c	2014-02-11 18:57:55.110320794 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     177,
-  /**/
-
--- 
-The psychic said, "God bless you."  I said, "I didn't sneeze."  She
-looked deep into my eyes and said, "You will, eventually."  And, damn
-if she wasn't right.  Two days later, I sneezed.  --Ellen Degeneres
-
- /// 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    ///
diff --git a/7.4.178 b/7.4.178
deleted file mode 100644
index 36e2eec..0000000
--- a/7.4.178
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.178
-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.178
-Problem:    The J command does not update '[ and '] marks. (William Gardner)
-Solution:   Set the marks. (Christian Brabandt)
-Files:	    src/ops.c
-
-
-*** ../vim-7.4.177/src/ops.c	2014-01-14 12:33:32.000000000 +0100
---- src/ops.c	2014-02-11 19:22:46.538343647 +0100
-***************
-*** 4452,4457 ****
---- 4452,4463 ----
-      for (t = 0; t < count; ++t)
-      {
-  	curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
-+ 	if (t == 0)
-+ 	{
-+ 	    /* Set the '[ mark. */
-+ 	    curwin->w_buffer->b_op_start.lnum = curwin->w_cursor.lnum;
-+ 	    curwin->w_buffer->b_op_start.col  = (colnr_T)STRLEN(curr);
-+ 	}
-  #if defined(FEAT_COMMENTS) || defined(PROTO)
-  	if (remove_comments)
-  	{
-***************
-*** 4568,4573 ****
---- 4574,4583 ----
-      }
-      ml_replace(curwin->w_cursor.lnum, newp, FALSE);
-  
-+     /* Set the '] mark. */
-+     curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum;
-+     curwin->w_buffer->b_op_end.col  = (colnr_T)STRLEN(newp);
-+ 
-      /* Only report the change in the first line here, del_lines() will report
-       * the deleted line. */
-      changed_lines(curwin->w_cursor.lnum, currsize,
-*** ../vim-7.4.177/src/version.c	2014-02-11 18:58:05.102320947 +0100
---- src/version.c	2014-02-11 19:23:59.722344768 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     178,
-  /**/
-
--- 
-Eight Megabytes And Continually Swapping.
-
- /// 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    ///
diff --git a/7.4.179 b/7.4.179
deleted file mode 100644
index 29b366e..0000000
--- a/7.4.179
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.179
-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.179
-Problem:    Warning for type-punned pointer. (Tony Mechelynck)
-Solution:   Use intermediate variable.
-Files:	    src/if_py_both.h
-
-
-*** ../vim-7.4.178/src/if_py_both.h	2014-02-11 18:47:18.678311042 +0100
---- src/if_py_both.h	2014-02-11 18:41:12.774305435 +0100
-***************
-*** 1617,1624 ****
-      }
-      else if (flags & DICT_FLAG_RETURN_BOOL)
-      {
-! 	Py_INCREF(Py_True);
-! 	return Py_True;
-      }
-  
-      di = dict_lookup(hi);
---- 1617,1625 ----
-      }
-      else if (flags & DICT_FLAG_RETURN_BOOL)
-      {
-! 	ret = Py_True;
-! 	Py_INCREF(ret);
-! 	return ret;
-      }
-  
-      di = dict_lookup(hi);
-*** ../vim-7.4.178/src/version.c	2014-02-11 19:33:03.358353098 +0100
---- src/version.c	2014-02-12 22:08:16.795819706 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     179,
-  /**/
-
--- 
-Luxury. We used to have to get out of the lake at three o'clock in the 
-morning, clean the lake, eat a handful of hot gravel, go to work at the 
-mill every day for tuppence a month, come home, and Dad would beat us 
-around the head and neck with a broken bottle, if we were LUCKY!
-
- /// 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    ///
diff --git a/7.4.180 b/7.4.180
deleted file mode 100644
index 4fa0769..0000000
--- a/7.4.180
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.180
-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.180 (after 7.4.174)
-Problem:    Older Python versions don't support %ld.
-Solution:   Use %d instead. (ZyX)
-Files:	    src/if_py_both.h
-
-
-*** ../vim-7.4.179/src/if_py_both.h	2014-02-12 22:08:46.055820155 +0100
---- src/if_py_both.h	2014-02-15 15:56:44.133904982 +0100
-***************
-*** 2510,2517 ****
-  	{
-  	    Py_DECREF(iterator);
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater then %ld "
-! 			"to extended slice"), (long)slicelen);
-  	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	    PyMem_Free(lis);
-  	    return -1;
---- 2510,2517 ----
-  	{
-  	    Py_DECREF(iterator);
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater then %d "
-! 			"to extended slice"), (int) slicelen);
-  	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	    PyMem_Free(lis);
-  	    return -1;
-***************
-*** 2523,2530 ****
-      if (step != 1 && i != slicelen)
-      {
-  	PyErr_FORMAT2(PyExc_ValueError,
-! 		N_("attempt to assign sequence of size %ld to extended slice "
-! 		    "of size %ld"), (long)i, (long)slicelen);
-  	list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	PyMem_Free(lis);
-  	return -1;
---- 2523,2530 ----
-      if (step != 1 && i != slicelen)
-      {
-  	PyErr_FORMAT2(PyExc_ValueError,
-! 		N_("attempt to assign sequence of size %d to extended slice "
-! 		    "of size %d"), (int) i, (int) slicelen);
-  	list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	PyMem_Free(lis);
-  	return -1;
-*** ../vim-7.4.179/src/version.c	2014-02-12 22:08:46.059820155 +0100
---- src/version.c	2014-02-15 15:58:13.877904839 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     180,
-  /**/
-
--- 
-   LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and
-   hacks him to the floor.  Blood.  Swashbuckling music (perhaps).
-   LAUNCELOT races through into the castle screaming.
-SECOND SENTRY: Hey!
-                 "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    ///
diff --git a/7.4.181 b/7.4.181
deleted file mode 100644
index 3668d08..0000000
--- a/7.4.181
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.181
-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.181
-Problem:    When using 'pastetoggle' the status lines are not updated. (Samuel
-	    Ferencik, Jan Christoph Ebersbach)
-Solution:   Update the status lines. (Nobuhiro Takasaki)
-Files:	    src/getchar.c
-
-
-*** ../vim-7.4.180/src/getchar.c	2014-02-11 15:10:38.130111835 +0100
---- src/getchar.c	2014-02-15 16:14:34.249903278 +0100
-***************
-*** 406,412 ****
-  }
-  
-  /*
-!  * Prepare the read buffers for reading (if they contains something).
-   */
-      static void
-  start_stuff()
---- 406,412 ----
-  }
-  
-  /*
-!  * Prepare the read buffers for reading (if they contain something).
-   */
-      static void
-  start_stuff()
-***************
-*** 2302,2307 ****
---- 2302,2311 ----
-  				msg_row = Rows - 1;
-  				msg_clr_eos();		/* clear ruler */
-  			    }
-+ #ifdef FEAT_WINDOWS
-+ 			    status_redraw_all();
-+ 			    redraw_statuslines();
-+ #endif
-  			    showmode();
-  			    setcursor();
-  			    continue;
-*** ../vim-7.4.180/src/version.c	2014-02-15 15:58:55.081904773 +0100
---- src/version.c	2014-02-15 16:12:22.329903488 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     181,
-  /**/
-
--- 
-FIRST GUARD: Ah!  Now ... we're not allowed to ...
-   SIR LAUNCELOT runs him through,  grabs his spear and stabs the other
-   guard who collapses in a heap.  Hiccoughs quietly.
-                 "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    ///
diff --git a/7.4.182 b/7.4.182
deleted file mode 100644
index 72b4148..0000000
--- a/7.4.182
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.182
-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.182
-Problem:    Building with mzscheme and racket does not work. (David Chimay)
-Solution:   Adjust autoconf. (Sergey Khorev)
-Files:	    src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.181/src/configure.in	2013-11-21 12:17:46.000000000 +0100
---- src/configure.in	2014-02-15 16:21:41.705902597 +0100
-***************
-*** 802,810 ****
---- 802,820 ----
-      AC_MSG_CHECKING(for mzscheme_base.c)
-      if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
-        MZSCHEME_EXTRA="mzscheme_base.c"
-+       MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
-+       MZSCHEME_MOD="++lib scheme/base"
-      else
-        if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
-  	MZSCHEME_EXTRA="mzscheme_base.c"
-+ 	MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
-+ 	MZSCHEME_MOD="++lib scheme/base"
-+       else
-+ 	if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then
-+ 	  MZSCHEME_EXTRA="mzscheme_base.c"
-+ 	  MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool"
-+ 	  MZSCHEME_MOD=""
-+ 	fi
-        fi
-      fi
-      if test "X$MZSCHEME_EXTRA" != "X" ; then
-*** ../vim-7.4.181/src/version.c	2014-02-15 16:17:02.213903042 +0100
---- src/version.c	2014-02-15 16:23:42.505902405 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     182,
-  /**/
-
--- 
-Overflow on /dev/null, please empty the bit bucket.
-
- /// 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    ///
diff --git a/7.4.183 b/7.4.183
deleted file mode 100644
index f23061c..0000000
--- a/7.4.183
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.183
-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.183
-Problem:    MSVC Visual Studio update not supported.
-Solution:   Add version number. (Mike William)
-Files:	    src/Make_mvc.mak
-
-
-*** ../vim-7.4.182/src/Make_mvc.mak	2013-12-14 11:50:28.000000000 +0100
---- src/Make_mvc.mak	2014-02-15 19:25:27.333885042 +0100
-***************
-*** 424,429 ****
---- 424,432 ----
-  !if "$(_NMAKE_VER)" == "11.00.60610.1"
-  MSVCVER = 11.0
-  !endif
-+ !if "$(_NMAKE_VER)" == "11.00.61030.0"
-+ MSVCVER = 11.0
-+ !endif
-  !if "$(_NMAKE_VER)" == "12.00.21005.1"
-  MSVCVER = 12.0
-  !endif
-*** ../vim-7.4.182/src/version.c	2014-02-15 17:18:56.953897128 +0100
---- src/version.c	2014-02-15 19:31:11.337884494 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     183,
-  /**/
-
--- 
-FATHER:    Did you kill all those guards?
-LAUNCELOT: Yes ...  I'm very sorry ...
-FATHER:    They cost fifty pounds each!
-                 "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    ///
diff --git a/7.4.184 b/7.4.184
deleted file mode 100644
index d6ceb64..0000000
--- a/7.4.184
+++ /dev/null
@@ -1,250 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.184
-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.184
-Problem:    match() does not work properly with a {count} argument.
-Solution:   Compute the length once and update it.  Quit the loop when at the
-            end. (Hirohito Higashi)
-Files:      src/eval.c, src/testdir/test53.in, src/testdir/test53.ok
-
-
-*** ../vim-7.4.183/src/eval.c	2014-02-05 22:13:02.366556787 +0100
---- src/eval.c	2014-02-22 22:13:26.644906020 +0100
-***************
-*** 8014,8020 ****
-      {"log10",		1, 1, f_log10},
-  #endif
-  #ifdef FEAT_LUA
-!     {"luaeval",         1, 2, f_luaeval},
-  #endif
-      {"map",		2, 2, f_map},
-      {"maparg",		1, 4, f_maparg},
---- 8014,8020 ----
-      {"log10",		1, 1, f_log10},
-  #endif
-  #ifdef FEAT_LUA
-!     {"luaeval",		1, 2, f_luaeval},
-  #endif
-      {"map",		2, 2, f_map},
-      {"maparg",		1, 4, f_maparg},
-***************
-*** 13905,13910 ****
---- 13905,13911 ----
-      int		type;
-  {
-      char_u	*str = NULL;
-+     long	len = 0;
-      char_u	*expr = NULL;
-      char_u	*pat;
-      regmatch_T	regmatch;
-***************
-*** 13944,13950 ****
---- 13945,13954 ----
-  	li = l->lv_first;
-      }
-      else
-+     {
-  	expr = str = get_tv_string(&argvars[0]);
-+ 	len = (long)STRLEN(str);
-+     }
-  
-      pat = get_tv_string_buf_chk(&argvars[1], patbuf);
-      if (pat == NULL)
-***************
-*** 13968,13974 ****
-  	{
-  	    if (start < 0)
-  		start = 0;
-! 	    if (start > (long)STRLEN(str))
-  		goto theend;
-  	    /* When "count" argument is there ignore matches before "start",
-  	     * otherwise skip part of the string.  Differs when pattern is "^"
---- 13972,13978 ----
-  	{
-  	    if (start < 0)
-  		start = 0;
-! 	    if (start > len)
-  		goto theend;
-  	    /* When "count" argument is there ignore matches before "start",
-  	     * otherwise skip part of the string.  Differs when pattern is "^"
-***************
-*** 13976,13982 ****
---- 13980,13989 ----
-  	    if (argvars[3].v_type != VAR_UNKNOWN)
-  		startcol = start;
-  	    else
-+ 	    {
-  		str += start;
-+ 		len -= start;
-+ 	    }
-  	}
-  
-  	if (argvars[3].v_type != VAR_UNKNOWN)
-***************
-*** 14026,14031 ****
---- 14033,14044 ----
-  #else
-  		startcol = (colnr_T)(regmatch.startp[0] + 1 - str);
-  #endif
-+ 		if (startcol > (colnr_T)len
-+ 				      || str + startcol <= regmatch.startp[0])
-+ 		{
-+ 		    match = FALSE;
-+ 		    break;
-+ 		}
-  	    }
-  	}
-  
-*** ../vim-7.4.183/src/testdir/test53.in	2013-10-02 21:54:57.000000000 +0200
---- src/testdir/test53.in	2014-02-22 22:08:24.260906501 +0100
-***************
-*** 4,9 ****
---- 4,11 ----
-  
-  Also test match() and matchstr()
-  
-+ Also test the gn command and repeating it.
-+ 
-  STARTTEST
-  :so small.vim
-  /^start:/
-***************
-*** 28,33 ****
---- 30,57 ----
-  :put =matchstr(\"abcd\", \".\", 0, -1) " a
-  :put =match(\"abcd\", \".\", 0, 5) " -1
-  :put =match(\"abcd\", \".\", 0, -1) " 0
-+ :put =match('abc', '.', 0, 1) " 0
-+ :put =match('abc', '.', 0, 2) " 1
-+ :put =match('abc', '.', 0, 3) " 2
-+ :put =match('abc', '.', 0, 4) " -1
-+ :put =match('abc', '.', 1, 1) " 1
-+ :put =match('abc', '.', 2, 1) " 2
-+ :put =match('abc', '.', 3, 1) " -1
-+ :put =match('abc', '$', 0, 1) " 3
-+ :put =match('abc', '$', 0, 2) " -1
-+ :put =match('abc', '$', 1, 1) " 3
-+ :put =match('abc', '$', 2, 1) " 3
-+ :put =match('abc', '$', 3, 1) " 3
-+ :put =match('abc', '$', 4, 1) " -1
-+ :put =match('abc', '\zs', 0, 1) " 0
-+ :put =match('abc', '\zs', 0, 2) " 1
-+ :put =match('abc', '\zs', 0, 3) " 2
-+ :put =match('abc', '\zs', 0, 4) " 3
-+ :put =match('abc', '\zs', 0, 5) " -1
-+ :put =match('abc', '\zs', 1, 1) " 1
-+ :put =match('abc', '\zs', 2, 1) " 2
-+ :put =match('abc', '\zs', 3, 1) " 3
-+ :put =match('abc', '\zs', 4, 1) " -1
-  /^foobar
-  gncsearchmatch/one\_s*two\_s
-  :1
-***************
-*** 49,54 ****
---- 73,84 ----
-  :" Make sure there is no other match y uppercase.
-  /x59
-  gggnd
-+ :" test repeating dgn
-+ /^Johnny
-+ ggdgn.
-+ :" test repeating gUgn
-+ /^Depp
-+ gggUgn.
-  :/^start:/,/^end:/wq! test.out
-  ENDTEST
-  
-***************
-*** 81,84 ****
---- 111,123 ----
-  Y
-  text
-  Y
-+ --1
-+ Johnny
-+ --2
-+ Johnny
-+ --3
-+ Depp
-+ --4
-+ Depp
-+ --5
-  end:
-*** ../vim-7.4.183/src/testdir/test53.ok	2013-10-02 21:54:57.000000000 +0200
---- src/testdir/test53.ok	2014-02-22 22:08:24.264906501 +0100
-***************
-*** 18,23 ****
---- 18,45 ----
-  a
-  -1
-  0
-+ 0
-+ 1
-+ 2
-+ -1
-+ 1
-+ 2
-+ -1
-+ 3
-+ -1
-+ 3
-+ 3
-+ 3
-+ -1
-+ 0
-+ 1
-+ 2
-+ 3
-+ -1
-+ 1
-+ 2
-+ 3
-+ -1
-  SEARCH:
-  searchmatch
-  abcdx |  | abcdx
-***************
-*** 30,33 ****
---- 52,64 ----
-  
-  text
-  Y
-+ --1
-+ 
-+ --2
-+ 
-+ --3
-+ DEPP
-+ --4
-+ DEPP
-+ --5
-  end:
-*** ../vim-7.4.183/src/version.c	2014-02-15 19:47:46.685882910 +0100
---- src/version.c	2014-02-22 22:10:49.604906270 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     184,
-  /**/
-
--- 
-WOMAN:   I didn't know we had a king. I thought we were an autonomous
-         collective.
-DENNIS:  You're fooling yourself.  We're living in a dictatorship.  A
-         self-perpetuating autocracy in which the working classes--
-WOMAN:   Oh there you go, bringing class into it again.
-DENNIS:  That's what it's all about if only people would--
-                                  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    ///
diff --git a/7.4.185 b/7.4.185
deleted file mode 100644
index b326a16..0000000
--- a/7.4.185
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.185
-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.185
-Problem:    Clang gives warnings.
-Solution:   Adjust how bigness is set. (Dominique Pelle)
-Files:      src/ex_cmds.c
-
-
-*** ../vim-7.4.184/src/ex_cmds.c	2014-02-11 12:15:39.781950970 +0100
---- src/ex_cmds.c	2014-02-22 22:25:45.800904843 +0100
-***************
-*** 4099,4110 ****
-       * 'scroll' */
-      if (eap->forceit)
-  	bigness = curwin->w_height;
--     else if (firstwin == lastwin)
-- 	bigness = curwin->w_p_scr * 2;
-  #ifdef FEAT_WINDOWS
-!     else
-  	bigness = curwin->w_height - 3;
-  #endif
-      if (bigness < 1)
-  	bigness = 1;
-  
---- 4099,4110 ----
-       * 'scroll' */
-      if (eap->forceit)
-  	bigness = curwin->w_height;
-  #ifdef FEAT_WINDOWS
-!     else if (firstwin != lastwin)
-  	bigness = curwin->w_height - 3;
-  #endif
-+     else
-+ 	bigness = curwin->w_p_scr * 2;
-      if (bigness < 1)
-  	bigness = 1;
-  
-*** ../vim-7.4.184/src/version.c	2014-02-22 22:18:39.536905522 +0100
---- src/version.c	2014-02-22 22:22:51.912905120 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     185,
-  /**/
-
--- 
-There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU,
-Linux, etc, and those who know COBOL.  It gets very difficult for me at
-parties, not knowing which group to socialise with :-)
-						Sitaram Chamarty
-
- /// 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    ///
diff --git a/7.4.186 b/7.4.186
deleted file mode 100644
index 84f0a31..0000000
--- a/7.4.186
+++ /dev/null
@@ -1,164 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.186
-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.186 (after 7.4.085)
-Problem:    Insert in Visual mode sometimes gives incorrect results.
-            (Dominique Pelle)
-Solution:   Remember the original insert start position. (Christian Brabandt,
-            Dominique Pelle)
-Files:      src/edit.c, src/globals.h, src/ops.c, src/structs.h
-
-
-*** ../vim-7.4.185/src/edit.c	2014-01-23 22:45:54.608127182 +0100
---- src/edit.c	2014-02-22 22:43:52.820903112 +0100
-***************
-*** 264,269 ****
---- 264,270 ----
-  
-  static colnr_T	Insstart_textlen;	/* length of line when insert started */
-  static colnr_T	Insstart_blank_vcol;	/* vcol for first inserted blank */
-+ static int	update_Insstart_orig = TRUE; /* set Insstart_orig to Insstart */
-  
-  static char_u	*last_insert = NULL;	/* the text of the previous insert,
-  					   K_SPECIAL and CSI are escaped */
-***************
-*** 340,345 ****
---- 341,349 ----
-       * error message */
-      check_for_delay(TRUE);
-  
-+     /* set Insstart_orig to Insstart */
-+     update_Insstart_orig = TRUE;
-+ 
-  #ifdef HAVE_SANDBOX
-      /* Don't allow inserting in the sandbox. */
-      if (sandbox != 0)
-***************
-*** 631,636 ****
---- 635,643 ----
-  	if (arrow_used)	    /* don't repeat insert when arrow key used */
-  	    count = 0;
-  
-+ 	if (update_Insstart_orig)
-+ 	    Insstart_orig = Insstart;
-+ 
-  	if (stop_insert_mode)
-  	{
-  	    /* ":stopinsert" used or 'insertmode' reset */
-***************
-*** 6923,6928 ****
---- 6930,6936 ----
-      if (end_insert_pos != NULL)
-      {
-  	curbuf->b_op_start = Insstart;
-+ 	curbuf->b_op_start_orig = Insstart_orig;
-  	curbuf->b_op_end = *end_insert_pos;
-      }
-  }
-***************
-*** 8257,8262 ****
---- 8265,8271 ----
-  
-  		  /* Need to reset Insstart, esp. because a BS that joins
-  		   * a line to the previous one must save for undo. */
-+ 		  update_Insstart_orig = FALSE;
-  		  Insstart = curwin->w_cursor;
-  		  break;
-  
-*** ../vim-7.4.185/src/globals.h	2014-02-11 15:10:38.130111835 +0100
---- src/globals.h	2014-02-22 23:02:01.644901378 +0100
-***************
-*** 752,757 ****
---- 752,763 ----
-   */
-  EXTERN pos_T	Insstart;		/* This is where the latest
-  					 * insert/append mode started. */
-+ 
-+ /* This is where the latest insert/append mode started. In contrast to
-+  * Insstart, this won't be reset by certain keys and is needed for
-+  * op_insert(), to detect correctly where inserting by the user started. */
-+ EXTERN pos_T	Insstart_orig;
-+ 
-  #ifdef FEAT_VREPLACE
-  /*
-   * Stuff for VREPLACE mode.
-*** ../vim-7.4.185/src/ops.c	2014-02-11 19:33:03.358353098 +0100
---- src/ops.c	2014-02-22 22:39:47.588903502 +0100
-***************
-*** 2643,2662 ****
-  
-  	/* The user may have moved the cursor before inserting something, try
-  	 * to adjust the block for that. */
-! 	if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX)
-  	{
-  	    if (oap->op_type == OP_INSERT
-! 		    && oap->start.col != curbuf->b_op_start.col)
-  	    {
-! 		oap->start.col = curbuf->b_op_start.col;
-  		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
-  							    - oap->start_vcol;
-  		oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
-  	    }
-  	    else if (oap->op_type == OP_APPEND
-! 		    && oap->end.col >= curbuf->b_op_start.col)
-  	    {
-! 		oap->start.col = curbuf->b_op_start.col;
-  		/* reset pre_textlen to the value of OP_INSERT */
-  		pre_textlen += bd.textlen;
-  		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
---- 2643,2662 ----
-  
-  	/* The user may have moved the cursor before inserting something, try
-  	 * to adjust the block for that. */
-! 	if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX)
-  	{
-  	    if (oap->op_type == OP_INSERT
-! 		    && oap->start.col != curbuf->b_op_start_orig.col)
-  	    {
-! 		oap->start.col = curbuf->b_op_start_orig.col;
-  		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
-  							    - oap->start_vcol;
-  		oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
-  	    }
-  	    else if (oap->op_type == OP_APPEND
-! 		    && oap->end.col >= curbuf->b_op_start_orig.col)
-  	    {
-! 		oap->start.col = curbuf->b_op_start_orig.col;
-  		/* reset pre_textlen to the value of OP_INSERT */
-  		pre_textlen += bd.textlen;
-  		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
-*** ../vim-7.4.185/src/structs.h	2014-02-11 15:10:38.138111836 +0100
---- src/structs.h	2014-02-22 22:39:47.588903502 +0100
-***************
-*** 1449,1454 ****
---- 1449,1455 ----
-       * start and end of an operator, also used for '[ and ']
-       */
-      pos_T	b_op_start;
-+     pos_T	b_op_start_orig;  /* used for Insstart_orig */
-      pos_T	b_op_end;
-  
-  #ifdef FEAT_VIMINFO
-*** ../vim-7.4.185/src/version.c	2014-02-22 22:27:20.772904692 +0100
---- src/version.c	2014-02-22 22:39:08.932903564 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     186,
-  /**/
-
--- 
-Individualists unite!
-
- /// 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    ///
diff --git a/7.4.187 b/7.4.187
deleted file mode 100644
index 122056e..0000000
--- a/7.4.187
+++ /dev/null
@@ -1,136 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.187
-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.187
-Problem:    Delete that crosses line break splits multi-byte character.
-Solution:   Advance a character instead of a byte. (Cade Foster)
-Files:      src/normal.c, src/testdir/test69.in, src/testdir/test69.ok
-
-
-*** ../vim-7.4.186/src/normal.c	2014-02-11 15:10:38.134111836 +0100
---- src/normal.c	2014-02-22 23:41:12.472897635 +0100
-***************
-*** 21,27 ****
-  static int	resel_VIsual_mode = NUL;	/* 'v', 'V', or Ctrl-V */
-  static linenr_T	resel_VIsual_line_count;	/* number of lines */
-  static colnr_T	resel_VIsual_vcol;		/* nr of cols or end col */
-! static int	VIsual_mode_orig = NUL;         /* type of Visual mode, that user entered */
-  
-  static int	restart_VIsual_select = 0;
-  #endif
---- 21,27 ----
-  static int	resel_VIsual_mode = NUL;	/* 'v', 'V', or Ctrl-V */
-  static linenr_T	resel_VIsual_line_count;	/* number of lines */
-  static colnr_T	resel_VIsual_vcol;		/* nr of cols or end col */
-! static int	VIsual_mode_orig = NUL;		/* saved Visual mode */
-  
-  static int	restart_VIsual_select = 0;
-  #endif
-***************
-*** 6202,6209 ****
-  			    || cap->oap->op_type == OP_CHANGE)
-  			&& !lineempty(curwin->w_cursor.lnum))
-  		{
-! 		    if (*ml_get_cursor() != NUL)
-! 			++curwin->w_cursor.col;
-  		    cap->retval |= CA_NO_ADJ_OP_END;
-  		}
-  		continue;
---- 6202,6218 ----
-  			    || cap->oap->op_type == OP_CHANGE)
-  			&& !lineempty(curwin->w_cursor.lnum))
-  		{
-! 		    char_u *cp = ml_get_cursor();
-! 
-! 		    if (*cp != NUL)
-! 		    {
-! #ifdef FEAT_MBYTE
-! 			if (has_mbyte)
-! 			    curwin->w_cursor.col += (*mb_ptr2len)(cp);
-! 			else
-! #endif
-! 			    ++curwin->w_cursor.col;
-! 		    }
-  		    cap->retval |= CA_NO_ADJ_OP_END;
-  		}
-  		continue;
-***************
-*** 9482,9488 ****
-  # ifdef FEAT_CLIPBOARD
-  	    adjust_clip_reg(&regname);
-  # endif
-!            if (regname == 0 || regname == '"'
-  				     || VIM_ISDIGIT(regname) || regname == '-'
-  # ifdef FEAT_CLIPBOARD
-  		    || (clip_unnamed && (regname == '*' || regname == '+'))
---- 9491,9497 ----
-  # ifdef FEAT_CLIPBOARD
-  	    adjust_clip_reg(&regname);
-  # endif
-! 	   if (regname == 0 || regname == '"'
-  				     || VIM_ISDIGIT(regname) || regname == '-'
-  # ifdef FEAT_CLIPBOARD
-  		    || (clip_unnamed && (regname == '*' || regname == '+'))
-*** ../vim-7.4.186/src/testdir/test69.in	2013-11-02 23:29:17.000000000 +0100
---- src/testdir/test69.in	2014-02-22 23:38:50.508897861 +0100
-***************
-*** 155,160 ****
---- 155,170 ----
-  aab
-  
-  STARTTEST
-+ :set whichwrap+=h
-+ /^x
-+ dh
-+ :set whichwrap-=h
-+ ENDTEST
-+ 
-+ á
-+ x
-+ 
-+ STARTTEST
-  :let a = '.é.' " one char of two bytes
-  :let b = '.é.' " normal e with composing char
-  /^byteidx
-*** ../vim-7.4.186/src/testdir/test69.ok	2013-11-02 23:29:17.000000000 +0100
---- src/testdir/test69.ok	2014-02-22 23:38:53.752897856 +0100
-***************
-*** 150,155 ****
---- 150,158 ----
-  aaa
-  
-  
-+ áx
-+ 
-+ 
-  byteidx
-  [0, 1, 3, 4, -1]
-  [0, 1, 4, 5, -1]
-*** ../vim-7.4.186/src/version.c	2014-02-22 23:03:48.716901208 +0100
---- src/version.c	2014-02-22 23:30:24.412898667 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     187,
-  /**/
-
--- 
-ARTHUR:  Then who is your lord?
-WOMAN:   We don't have a lord.
-ARTHUR:  What?
-DENNIS:  I told you.  We're an anarcho-syndicalist commune.  We take it in
-         turns to act as a sort of executive officer for the week.
-                                  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    ///
diff --git a/7.4.188 b/7.4.188
deleted file mode 100644
index b2b4fa1..0000000
--- a/7.4.188
+++ /dev/null
@@ -1,617 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.188
-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.188
-Problem:    SIZEOF_LONG clashes with similar defines in header files.
-Solution:   Rename to a name starting with VIM_.  Also for SIZEOF_INT.
-Files:      src/if_ruby.c, src/vim.h, src/configure.in, src/auto/configure,
-            src/config.h.in, src/fileio.c, src/if_python.c, src/message.c,
-            src/spell.c, src/feature.h, src/os_os2_cfg.h, src/os_vms_conf.h,
-            src/os_win16.h, src/structs.h
-
-
-*** ../vim-7.4.187/src/if_ruby.c	2014-02-05 22:41:11.430582669 +0100
---- src/if_ruby.c	2014-02-23 21:55:03.516770208 +0100
-***************
-*** 89,97 ****
-  #endif
-  
-  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
-! 	&& SIZEOF_INT < SIZEOF_LONG
-  /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
-!  * rb_num2int if SIZEOF_INT < SIZEOF_LONG (64bit) */
-  # define rb_fix2int rb_fix2int_stub
-  # define rb_num2int rb_num2int_stub
-  #endif
---- 89,97 ----
-  #endif
-  
-  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
-! 	&& VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
-!  * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
-  # define rb_fix2int rb_fix2int_stub
-  # define rb_num2int rb_num2int_stub
-  #endif
-***************
-*** 202,208 ****
-  # define rb_hash_new			dll_rb_hash_new
-  # define rb_inspect			dll_rb_inspect
-  # define rb_int2inum			dll_rb_int2inum
-! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
-  #  define rb_fix2int			dll_rb_fix2int
-  #  define rb_num2int			dll_rb_num2int
-  #  define rb_num2uint			dll_rb_num2uint
---- 202,208 ----
-  # define rb_hash_new			dll_rb_hash_new
-  # define rb_inspect			dll_rb_inspect
-  # define rb_int2inum			dll_rb_int2inum
-! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
-  #  define rb_fix2int			dll_rb_fix2int
-  #  define rb_num2int			dll_rb_num2int
-  #  define rb_num2uint			dll_rb_num2uint
-***************
-*** 310,316 ****
-  static VALUE (*dll_rb_hash_new) (void);
-  static VALUE (*dll_rb_inspect) (VALUE);
-  static VALUE (*dll_rb_int2inum) (long);
-! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
-  static long (*dll_rb_fix2int) (VALUE);
-  static long (*dll_rb_num2int) (VALUE);
-  static unsigned long (*dll_rb_num2uint) (VALUE);
---- 310,316 ----
-  static VALUE (*dll_rb_hash_new) (void);
-  static VALUE (*dll_rb_inspect) (VALUE);
-  static VALUE (*dll_rb_int2inum) (long);
-! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
-  static long (*dll_rb_fix2int) (VALUE);
-  static long (*dll_rb_num2int) (VALUE);
-  static unsigned long (*dll_rb_num2uint) (VALUE);
-***************
-*** 393,399 ****
-      return dll_rb_int2big(x);
-  }
-  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
-! 	&& SIZEOF_INT < SIZEOF_LONG
-  long rb_fix2int_stub(VALUE x)
-  {
-      return dll_rb_fix2int(x);
---- 393,399 ----
-      return dll_rb_int2big(x);
-  }
-  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
-! 	&& VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  long rb_fix2int_stub(VALUE x)
-  {
-      return dll_rb_fix2int(x);
-***************
-*** 466,472 ****
-      {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
-      {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
-      {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
-! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
-      {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
-      {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
-      {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
---- 466,472 ----
-      {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
-      {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
-      {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
-! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
-      {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
-      {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
-      {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
-*** ../vim-7.4.187/src/vim.h	2014-01-14 16:54:53.000000000 +0100
---- src/vim.h	2014-02-23 21:58:23.764769890 +0100
-***************
-*** 43,49 ****
-   * it becomes zero.  This is likely a problem of not being able to run the
-   * test program.  Other items from configure may also be wrong then!
-   */
-! # if (SIZEOF_INT == 0)
-      Error: configure did not run properly.  Check auto/config.log.
-  # endif
-  
---- 43,49 ----
-   * it becomes zero.  This is likely a problem of not being able to run the
-   * test program.  Other items from configure may also be wrong then!
-   */
-! # if (VIM_SIZEOF_INT == 0)
-      Error: configure did not run properly.  Check auto/config.log.
-  # endif
-  
-***************
-*** 148,169 ****
-  #endif
-  
-  /*
-!  * SIZEOF_INT is used in feature.h, and the system-specific included files
-!  * need items from feature.h.  Therefore define SIZEOF_INT here.
-   */
-  #ifdef WIN3264
-! # define SIZEOF_INT 4
-  #endif
-  #ifdef MSDOS
-  # ifdef DJGPP
-  #  ifndef FEAT_GUI_GTK		/* avoid problems when generating prototypes */
-! #   define SIZEOF_INT 4		/* 32 bit ints */
-  #  endif
-  #  define DOS32
-  #  define FEAT_CLIPBOARD
-  # else
-  #  ifndef FEAT_GUI_GTK		/* avoid problems when generating prototypes */
-! #   define SIZEOF_INT 2		/* 16 bit ints */
-  #  endif
-  #  define SMALL_MALLOC		/* 16 bit storage allocation */
-  #  define DOS16
---- 148,169 ----
-  #endif
-  
-  /*
-!  * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files
-!  * need items from feature.h.  Therefore define VIM_SIZEOF_INT here.
-   */
-  #ifdef WIN3264
-! # define VIM_SIZEOF_INT 4
-  #endif
-  #ifdef MSDOS
-  # ifdef DJGPP
-  #  ifndef FEAT_GUI_GTK		/* avoid problems when generating prototypes */
-! #   define VIM_SIZEOF_INT 4	/* 32 bit ints */
-  #  endif
-  #  define DOS32
-  #  define FEAT_CLIPBOARD
-  # else
-  #  ifndef FEAT_GUI_GTK		/* avoid problems when generating prototypes */
-! #   define VIM_SIZEOF_INT 2	/* 16 bit ints */
-  #  endif
-  #  define SMALL_MALLOC		/* 16 bit storage allocation */
-  #  define DOS16
-***************
-*** 174,191 ****
-    /* Be conservative about sizeof(int). It could be 4 too. */
-  # ifndef FEAT_GUI_GTK	/* avoid problems when generating prototypes */
-  #  ifdef __GNUC__
-! #   define SIZEOF_INT	4
-  #  else
-! #   define SIZEOF_INT	2
-  #  endif
-  # endif
-  #endif
-  #ifdef MACOS
-  # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
-    || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
-! #  define SIZEOF_INT 4
-  # else
-! #  define SIZEOF_INT 2
-  # endif
-  #endif
-  
---- 174,191 ----
-    /* Be conservative about sizeof(int). It could be 4 too. */
-  # ifndef FEAT_GUI_GTK	/* avoid problems when generating prototypes */
-  #  ifdef __GNUC__
-! #   define VIM_SIZEOF_INT	4
-  #  else
-! #   define VIM_SIZEOF_INT	2
-  #  endif
-  # endif
-  #endif
-  #ifdef MACOS
-  # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
-    || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
-! #  define VIM_SIZEOF_INT 4
-  # else
-! #  define VIM_SIZEOF_INT 2
-  # endif
-  #endif
-  
-***************
-*** 417,428 ****
-  #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
-  
-  /*
-!  * Only systems which use configure will have SIZEOF_OFF_T and SIZEOF_LONG
-   * defined, which is ok since those are the same systems which can have
-   * varying sizes for off_t.  The other systems will continue to use "%ld" to
-   * print off_t since off_t is simply a typedef to long for them.
-   */
-! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > SIZEOF_LONG)
-  # define LONG_LONG_OFF_T
-  #endif
-  
---- 417,428 ----
-  #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
-  
-  /*
-!  * Only systems which use configure will have SIZEOF_OFF_T and VIM_SIZEOF_LONG
-   * defined, which is ok since those are the same systems which can have
-   * varying sizes for off_t.  The other systems will continue to use "%ld" to
-   * print off_t since off_t is simply a typedef to long for them.
-   */
-! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > VIM_SIZEOF_LONG)
-  # define LONG_LONG_OFF_T
-  #endif
-  
-***************
-*** 448,454 ****
-  # ifdef UNICODE16
-  typedef unsigned short u8char_T;    /* short should be 16 bits */
-  # else
-! #  if SIZEOF_INT >= 4
-  typedef unsigned int u8char_T;	    /* int is 32 bits */
-  #  else
-  typedef unsigned long u8char_T;	    /* long should be 32 bits or more */
---- 448,454 ----
-  # ifdef UNICODE16
-  typedef unsigned short u8char_T;    /* short should be 16 bits */
-  # else
-! #  if VIM_SIZEOF_INT >= 4
-  typedef unsigned int u8char_T;	    /* int is 32 bits */
-  #  else
-  typedef unsigned long u8char_T;	    /* long should be 32 bits or more */
-***************
-*** 1608,1614 ****
-   * With this we restrict the maximum line length to 1073741823. I guess this is
-   * not a real problem. BTW:  Longer lines are split.
-   */
-! #if SIZEOF_INT >= 4
-  # ifdef __MVS__
-  #  define MAXCOL (0x3fffffffL)		/* maximum column number, 30 bits */
-  # else
---- 1608,1614 ----
-   * With this we restrict the maximum line length to 1073741823. I guess this is
-   * not a real problem. BTW:  Longer lines are split.
-   */
-! #if VIM_SIZEOF_INT >= 4
-  # ifdef __MVS__
-  #  define MAXCOL (0x3fffffffL)		/* maximum column number, 30 bits */
-  # else
-*** ../vim-7.4.187/src/configure.in	2014-02-15 17:18:56.953897128 +0100
---- src/configure.in	2014-02-23 22:37:40.080766138 +0100
-***************
-*** 3581,3586 ****
---- 3581,3590 ----
-  AC_CHECK_SIZEOF([time_t])
-  AC_CHECK_SIZEOF([off_t])
-  
-+ dnl Use different names to avoid clashing with other header files.
-+ AC_DEFINE_UNQUOTED(VIM_SIZEOF_INT, [$ac_cv_sizeof_int])
-+ AC_DEFINE_UNQUOTED(VIM_SIZEOF_LONG, [$ac_cv_sizeof_long])
-+ 
-  dnl Make sure that uint32_t is really 32 bits unsigned.
-  AC_MSG_CHECKING([uint32_t is 32 bits])
-  AC_TRY_RUN([
-*** ../vim-7.4.187/src/auto/configure	2013-11-21 12:17:46.000000000 +0100
---- src/auto/configure	2014-02-23 22:37:43.692766132 +0100
-***************
-*** 5199,5207 ****
---- 5199,5217 ----
-  $as_echo_n "checking for mzscheme_base.c... " >&6; }
-      if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
-        MZSCHEME_EXTRA="mzscheme_base.c"
-+       MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
-+       MZSCHEME_MOD="++lib scheme/base"
-      else
-        if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
-  	MZSCHEME_EXTRA="mzscheme_base.c"
-+ 	MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
-+ 	MZSCHEME_MOD="++lib scheme/base"
-+       else
-+ 	if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then
-+ 	  MZSCHEME_EXTRA="mzscheme_base.c"
-+ 	  MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool"
-+ 	  MZSCHEME_MOD=""
-+ 	fi
-        fi
-      fi
-      if test "X$MZSCHEME_EXTRA" != "X" ; then
-***************
-*** 12323,12328 ****
---- 12333,12347 ----
-  
-  
-  
-+ cat >>confdefs.h <<_ACEOF
-+ #define VIM_SIZEOF_INT $ac_cv_sizeof_int
-+ _ACEOF
-+ 
-+ cat >>confdefs.h <<_ACEOF
-+ #define VIM_SIZEOF_LONG $ac_cv_sizeof_long
-+ _ACEOF
-+ 
-+ 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5
-  $as_echo_n "checking uint32_t is 32 bits... " >&6; }
-  if test "$cross_compiling" = yes; then :
-*** ../vim-7.4.187/src/config.h.in	2013-11-02 21:04:32.000000000 +0100
---- src/config.h.in	2014-02-23 21:45:36.784771111 +0100
-***************
-*** 37,46 ****
-  #undef UNIX
-  
-  /* Defined to the size of an int */
-! #undef SIZEOF_INT
-  
-  /* Defined to the size of a long */
-! #undef SIZEOF_LONG
-  
-  /* Defined to the size of off_t */
-  #undef SIZEOF_OFF_T
---- 37,46 ----
-  #undef UNIX
-  
-  /* Defined to the size of an int */
-! #undef VIM_SIZEOF_INT
-  
-  /* Defined to the size of a long */
-! #undef VIM_SIZEOF_LONG
-  
-  /* Defined to the size of off_t */
-  #undef SIZEOF_OFF_T
-*** ../vim-7.4.187/src/fileio.c	2014-02-11 15:23:27.938123631 +0100
---- src/fileio.c	2014-02-23 22:31:00.824766773 +0100
-***************
-*** 1185,1191 ****
-  	 * The amount is limited by the fact that read() only can read
-  	 * upto max_unsigned characters (and other things).
-  	 */
-! #if SIZEOF_INT <= 2
-  	if (linerest >= 0x7ff0)
-  	{
-  	    ++split;
---- 1185,1191 ----
-  	 * The amount is limited by the fact that read() only can read
-  	 * upto max_unsigned characters (and other things).
-  	 */
-! #if VIM_SIZEOF_INT <= 2
-  	if (linerest >= 0x7ff0)
-  	{
-  	    ++split;
-***************
-*** 1197,1203 ****
-  	{
-  	    if (!skip_read)
-  	    {
-! #if SIZEOF_INT > 2
-  # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
-  		size = SSIZE_MAX;		    /* use max I/O size, 52K */
-  # else
---- 1197,1203 ----
-  	{
-  	    if (!skip_read)
-  	    {
-! #if VIM_SIZEOF_INT > 2
-  # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
-  		size = SSIZE_MAX;		    /* use max I/O size, 52K */
-  # else
-*** ../vim-7.4.187/src/if_python.c	2014-01-14 19:35:49.000000000 +0100
---- src/if_python.c	2014-02-23 21:54:39.212770247 +0100
-***************
-*** 613,619 ****
-  #  endif
-  # endif
-  # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
-! 	&& SIZEOF_SIZE_T != SIZEOF_INT
-  #  ifdef Py_DEBUG
-      {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4},
-  #  else
---- 613,619 ----
-  #  endif
-  # endif
-  # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
-! 	&& SIZEOF_SIZE_T != VIM_SIZEOF_INT
-  #  ifdef Py_DEBUG
-      {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4},
-  #  else
-*** ../vim-7.4.187/src/message.c	2013-11-04 02:00:55.000000000 +0100
---- src/message.c	2014-02-23 21:55:16.984770187 +0100
-***************
-*** 4376,4382 ****
-  		    {
-  			/* Don't put the #if inside memchr(), it can be a
-  			 * macro. */
-! #if SIZEOF_INT <= 2
-  			char *q = memchr(str_arg, '\0', precision);
-  #else
-  			/* memchr on HP does not like n > 2^31  !!! */
---- 4376,4382 ----
-  		    {
-  			/* Don't put the #if inside memchr(), it can be a
-  			 * macro. */
-! #if VIM_SIZEOF_INT <= 2
-  			char *q = memchr(str_arg, '\0', precision);
-  #else
-  			/* memchr on HP does not like n > 2^31  !!! */
-*** ../vim-7.4.187/src/spell.c	2013-11-28 17:41:41.000000000 +0100
---- src/spell.c	2014-02-23 21:55:24.600770175 +0100
-***************
-*** 317,323 ****
-  
-  /* Type used for indexes in the word tree need to be at least 4 bytes.  If int
-   * is 8 bytes we could use something smaller, but what? */
-! #if SIZEOF_INT > 3
-  typedef int idx_T;
-  #else
-  typedef long idx_T;
---- 317,323 ----
-  
-  /* Type used for indexes in the word tree need to be at least 4 bytes.  If int
-   * is 8 bytes we could use something smaller, but what? */
-! #if VIM_SIZEOF_INT > 3
-  typedef int idx_T;
-  #else
-  typedef long idx_T;
-*** ../vim-7.4.187/src/feature.h	2013-05-18 20:18:20.000000000 +0200
---- src/feature.h	2014-02-23 21:55:54.868770127 +0100
-***************
-*** 328,334 ****
-   *
-   * Disabled for EBCDIC as it requires multibyte.
-   */
-! #if defined(FEAT_BIG) && !defined(WIN16) && SIZEOF_INT >= 4 && !defined(EBCDIC)
-  # define FEAT_ARABIC
-  #endif
-  #ifdef FEAT_ARABIC
---- 328,334 ----
-   *
-   * Disabled for EBCDIC as it requires multibyte.
-   */
-! #if defined(FEAT_BIG) && !defined(WIN16) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
-  # define FEAT_ARABIC
-  #endif
-  #ifdef FEAT_ARABIC
-***************
-*** 640,646 ****
-   */
-  #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
-  	&& !defined(FEAT_MBYTE) && !defined(WIN16) \
-! 	&& SIZEOF_INT >= 4 && !defined(EBCDIC)
-  # define FEAT_MBYTE
-  #endif
-  
---- 640,646 ----
-   */
-  #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
-  	&& !defined(FEAT_MBYTE) && !defined(WIN16) \
-! 	&& VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
-  # define FEAT_MBYTE
-  #endif
-  
-***************
-*** 661,667 ****
-  # define FEAT_MBYTE
-  #endif
-  
-! #if defined(FEAT_MBYTE) && SIZEOF_INT < 4 && !defined(PROTO)
-  	Error: Can only handle multi-byte feature with 32 bit int or larger
-  #endif
-  
---- 661,667 ----
-  # define FEAT_MBYTE
-  #endif
-  
-! #if defined(FEAT_MBYTE) && VIM_SIZEOF_INT < 4 && !defined(PROTO)
-  	Error: Can only handle multi-byte feature with 32 bit int or larger
-  #endif
-  
-*** ../vim-7.4.187/src/os_os2_cfg.h	2010-05-15 13:04:11.000000000 +0200
---- src/os_os2_cfg.h	2014-02-23 21:56:03.540770113 +0100
-***************
-*** 47,53 ****
-  #undef UNIX	/* define always by current configure script */
-  
-  /* Defined to the size of an int */
-! #define SIZEOF_INT 4
-  
-  /*
-   * If we cannot trust one of the following from the libraries, we use our
---- 47,53 ----
-  #undef UNIX	/* define always by current configure script */
-  
-  /* Defined to the size of an int */
-! #define VIM_SIZEOF_INT 4
-  
-  /*
-   * If we cannot trust one of the following from the libraries, we use our
-*** ../vim-7.4.187/src/os_vms_conf.h	2010-07-28 19:07:48.000000000 +0200
---- src/os_vms_conf.h	2014-02-23 21:56:20.700770086 +0100
-***************
-*** 23,29 ****
-  #define HAVE_DATE_TIME
-  
-  /* Defined to the size of an int */
-! #define SIZEOF_INT 4
-  
-  /* #undef USEBCOPY */
-  #define USEMEMMOVE
---- 23,29 ----
-  #define HAVE_DATE_TIME
-  
-  /* Defined to the size of an int */
-! #define VIM_SIZEOF_INT 4
-  
-  /* #undef USEBCOPY */
-  #define USEMEMMOVE
-*** ../vim-7.4.187/src/os_win16.h	2013-05-06 04:06:04.000000000 +0200
---- src/os_win16.h	2014-02-23 21:56:39.292770056 +0100
-***************
-*** 55,62 ****
-  
-  #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
-  
-! #ifndef SIZEOF_INT
-! # define SIZEOF_INT 2
-  #endif
-  
-  typedef long off_t;
---- 55,62 ----
-  
-  #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
-  
-! #ifndef VIM_SIZEOF_INT
-! # define VIM_SIZEOF_INT 2
-  #endif
-  
-  typedef long off_t;
-*** ../vim-7.4.187/src/structs.h	2014-02-22 23:03:48.716901208 +0100
---- src/structs.h	2014-02-23 21:57:17.680769995 +0100
-***************
-*** 364,370 ****
-  /*
-   * structures used in undo.c
-   */
-! #if SIZEOF_INT > 2
-  # define ALIGN_LONG	/* longword alignment and use filler byte */
-  # define ALIGN_SIZE (sizeof(long))
-  #else
---- 364,370 ----
-  /*
-   * structures used in undo.c
-   */
-! #if VIM_SIZEOF_INT > 2
-  # define ALIGN_LONG	/* longword alignment and use filler byte */
-  # define ALIGN_SIZE (sizeof(long))
-  #else
-***************
-*** 1094,1100 ****
-  typedef long_u hash_T;		/* Type for hi_hash */
-  
-  
-! #if SIZEOF_INT <= 3		/* use long if int is smaller than 32 bits */
-  typedef long	varnumber_T;
-  #else
-  typedef int	varnumber_T;
---- 1094,1100 ----
-  typedef long_u hash_T;		/* Type for hi_hash */
-  
-  
-! #if VIM_SIZEOF_INT <= 3		/* use long if int is smaller than 32 bits */
-  typedef long	varnumber_T;
-  #else
-  typedef int	varnumber_T;
-*** ../vim-7.4.187/src/version.c	2014-02-22 23:49:30.268896843 +0100
---- src/version.c	2014-02-23 22:40:55.708765826 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     188,
-  /**/
-
--- 
-I'm sure that I asked CBuilder to do a "full" install.  Looks like I got
-a "fool" install, instead.		Charles E Campbell, Jr, PhD
-
-
- /// 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    ///
diff --git a/7.4.189 b/7.4.189
deleted file mode 100644
index cf6a2b7..0000000
--- a/7.4.189
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.189
-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.189
-Problem:    Compiler warning for unused argument.
-Solution:   Add UNUSED.
-Files:      src/eval.c
-
-
-*** ../vim-7.4.188/src/eval.c	2014-02-22 22:18:39.532905522 +0100
---- src/eval.c	2014-02-23 22:29:14.976766942 +0100
-***************
-*** 9203,9209 ****
-  byteidx(argvars, rettv, comp)
-      typval_T	*argvars;
-      typval_T	*rettv;
-!     int		comp;
-  {
-  #ifdef FEAT_MBYTE
-      char_u	*t;
---- 9203,9209 ----
-  byteidx(argvars, rettv, comp)
-      typval_T	*argvars;
-      typval_T	*rettv;
-!     int		comp UNUSED;
-  {
-  #ifdef FEAT_MBYTE
-      char_u	*t;
-*** ../vim-7.4.188/src/version.c	2014-02-23 22:52:33.372764715 +0100
---- src/version.c	2014-02-23 22:54:17.836764549 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     189,
-  /**/
-
--- 
-Q: How does a UNIX Guru pick up a girl?
-A: look; grep; which; eval; nice; uname; talk; date;
-
- /// 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    ///
diff --git a/7.4.190 b/7.4.190
deleted file mode 100644
index 6cafb4b..0000000
--- a/7.4.190
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.190
-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.190
-Problem:    Compiler warning for using %lld for off_t.
-Solution:   Add type cast.
-Files:      src/fileio.c
-
-
-*** ../vim-7.4.189/src/fileio.c	2014-02-23 22:52:33.368764715 +0100
---- src/fileio.c	2014-02-23 22:31:00.824766773 +0100
-***************
-*** 5294,5300 ****
-      if (shortmess(SHM_LINES))
-  	sprintf((char *)p,
-  #ifdef LONG_LONG_OFF_T
-! 		"%ldL, %lldC", lnum, nchars
-  #else
-  		/* Explicit typecast avoids warning on Mac OS X 10.6 */
-  		"%ldL, %ldC", lnum, (long)nchars
---- 5294,5300 ----
-      if (shortmess(SHM_LINES))
-  	sprintf((char *)p,
-  #ifdef LONG_LONG_OFF_T
-! 		"%ldL, %lldC", lnum, (long long)nchars
-  #else
-  		/* Explicit typecast avoids warning on Mac OS X 10.6 */
-  		"%ldL, %ldC", lnum, (long)nchars
-***************
-*** 5312,5318 ****
-  	else
-  	    sprintf((char *)p,
-  #ifdef LONG_LONG_OFF_T
-! 		    _("%lld characters"), nchars
-  #else
-  		    /* Explicit typecast avoids warning on Mac OS X 10.6 */
-  		    _("%ld characters"), (long)nchars
---- 5312,5318 ----
-  	else
-  	    sprintf((char *)p,
-  #ifdef LONG_LONG_OFF_T
-! 		    _("%lld characters"), (long long)nchars
-  #else
-  		    /* Explicit typecast avoids warning on Mac OS X 10.6 */
-  		    _("%ld characters"), (long)nchars
-*** ../vim-7.4.189/src/version.c	2014-02-23 22:54:54.728764490 +0100
---- src/version.c	2014-02-23 22:57:43.648764221 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     190,
-  /**/
-
--- 
-Courtroom Quote #19:
-Q:  Doctor, how many autopsies have you performed on dead people?
-A:  All my autopsies have been performed on dead people.
-
- /// 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    ///
diff --git a/7.4.191 b/7.4.191
deleted file mode 100644
index f0bb71b..0000000
--- a/7.4.191
+++ /dev/null
@@ -1,689 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.191
-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.191
-Problem:    Escaping a file name for shell commands can't be done without a
-            function.
-Solution:   Add the :S file name modifier.
-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/test105.in, src/testdir/test105.ok,
-            runtime/doc/cmdline.txt, runtime/doc/eval.txt,
-            runtime/doc/map.txt, runtime/doc/options.txt,
-            runtime/doc/quickfix.txt, runtime/doc/usr_30.txt,
-            runtime/doc/usr_40.txt, runtime/doc/usr_42.txt,
-            runtime/doc/vi_diff.txt, src/eval.c, src/misc2.c, src/normal.c,
-            src/proto/misc2.pro
-
-
-*** ../vim-7.4.190/src/testdir/Make_amiga.mak	2014-02-05 22:25:29.974568243 +0100
---- src/testdir/Make_amiga.mak	2014-02-23 23:16:51.056762395 +0100
-***************
-*** 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
-  
-  .SUFFIXES: .in .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
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 156,158 ****
---- 156,159 ----
-  test102.out: test102.in
-  test103.out: test103.in
-  test104.out: test104.in
-+ test105.out: test105.in
-*** ../vim-7.4.190/src/testdir/Make_dos.mak	2014-02-05 22:25:29.978568243 +0100
---- src/testdir/Make_dos.mak	2014-02-23 23:17:41.840762314 +0100
-***************
-*** 33,39 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 33,40 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.190/src/testdir/Make_ming.mak	2014-02-05 22:25:29.978568243 +0100
---- src/testdir/Make_ming.mak	2014-02-23 23:17:29.400762333 +0100
-***************
-*** 53,59 ****
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 53,60 ----
-  		test84.out test85.out test86.out test87.out test88.out \
-  		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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.190/src/testdir/Make_os2.mak	2014-02-05 22:25:29.978568243 +0100
---- src/testdir/Make_os2.mak	2014-02-23 23:17:49.476762302 +0100
-***************
-*** 35,41 ****
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
---- 35,42 ----
-  		test81.out test82.out test83.out test84.out test88.out \
-  		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
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.190/src/testdir/Make_vms.mms	2014-02-05 22:25:29.978568243 +0100
---- src/testdir/Make_vms.mms	2014-02-23 23:17:56.596762290 +0100
-***************
-*** 4,10 ****
-  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
-  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
-  #
-! # Last change:  2013 Nov 21
-  #
-  # 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 Feb 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.
-***************
-*** 79,85 ****
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
---- 79,86 ----
-  	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-  # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.4.190/src/testdir/Makefile	2014-02-05 22:25:29.982568243 +0100
---- src/testdir/Makefile	2014-02-23 23:18:14.040762262 +0100
-***************
-*** 31,37 ****
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
---- 31,37 ----
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.190/src/testdir/test105.in	2014-02-23 23:35:40.680760596 +0100
---- src/testdir/test105.in	2014-02-23 23:30:24.748761099 +0100
-***************
-*** 0 ****
---- 1,45 ----
-+ Test filename modifiers     vim: set ft=vim :
-+ 
-+ STARTTEST
-+ :source small.vim
-+ :%delete _
-+ :set shell=sh
-+ :set shellslash
-+ :let tab="\t"
-+ :command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))
-+ :let $HOME=fnamemodify('.', ':p:h:h:h')
-+ :Put fnamemodify('.',              ':p'      )[-1:]
-+ :Put fnamemodify('.',              ':p:h'    )[-1:]
-+ :Put fnamemodify('test.out',       ':p'      )[-1:]
-+ :Put fnamemodify('test.out',       ':.'      )
-+ :Put fnamemodify('../testdir/a',   ':.'      )
-+ :Put fnamemodify('test.out',       ':~'      )
-+ :Put fnamemodify('../testdir/a',   ':~'      )
-+ :Put fnamemodify('../testdir/a',   ':t'      )
-+ :Put fnamemodify('.',              ':p:t'    )
-+ :Put fnamemodify('test.out',       ':p:t'    )
-+ :Put fnamemodify('test.out',       ':p:e'    )
-+ :Put fnamemodify('test.out',       ':p:t:e'  )
-+ :Put fnamemodify('abc.fb2.tar.gz', ':r'      )
-+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r'    )
-+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )
-+ :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '')
-+ :Put fnamemodify('abc.fb2.tar.gz', ':e'      )
-+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e'    )
-+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )
-+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e:e')
-+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:r'  )
-+ :Put fnamemodify('abc def',        ':S'      )
-+ :Put fnamemodify('abc" "def',      ':S'      )
-+ :Put fnamemodify('abc"%"def',      ':S'      )
-+ :Put fnamemodify('abc'' ''def',    ':S'      )
-+ :Put fnamemodify('abc''%''def',    ':S'      )
-+ :Put fnamemodify("abc\ndef",       ':S'      )
-+ :set shell=tcsh
-+ :Put fnamemodify("abc\ndef",       ':S'      )
-+ :$put ='vim: ts=8'
-+ :1 delete _
-+ :w! test.out
-+ :qa!
-+ ENDTEST
-+ 
-*** ../vim-7.4.190/src/testdir/test105.ok	2014-02-23 23:35:40.688760596 +0100
---- src/testdir/test105.ok	2014-02-23 23:32:11.204760929 +0100
-***************
-*** 0 ****
---- 1,29 ----
-+ fnamemodify('.',              ':p'      )[-1:]	'/'
-+ fnamemodify('.',              ':p:h'    )[-1:]	'r'
-+ fnamemodify('test.out',       ':p'      )[-1:]	't'
-+ fnamemodify('test.out',       ':.'      )	'test.out'
-+ fnamemodify('../testdir/a',   ':.'      )	'a'
-+ fnamemodify('test.out',       ':~'      )	'~/src/testdir/test.out'
-+ fnamemodify('../testdir/a',   ':~'      )	'~/src/testdir/a'
-+ fnamemodify('../testdir/a',   ':t'      )	'a'
-+ fnamemodify('.',              ':p:t'    )	''
-+ fnamemodify('test.out',       ':p:t'    )	'test.out'
-+ fnamemodify('test.out',       ':p:e'    )	'out'
-+ fnamemodify('test.out',       ':p:t:e'  )	'out'
-+ fnamemodify('abc.fb2.tar.gz', ':r'      )	'abc.fb2.tar'
-+ fnamemodify('abc.fb2.tar.gz', ':r:r'    )	'abc.fb2'
-+ fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )	'abc'
-+ substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '')	'src/testdir/abc.fb2'
-+ fnamemodify('abc.fb2.tar.gz', ':e'      )	'gz'
-+ fnamemodify('abc.fb2.tar.gz', ':e:e'    )	'tar.gz'
-+ fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )	'fb2.tar.gz'
-+ fnamemodify('abc.fb2.tar.gz', ':e:e:e:e')	'fb2.tar.gz'
-+ fnamemodify('abc.fb2.tar.gz', ':e:e:r'  )	'tar'
-+ fnamemodify('abc def',        ':S'      )	'''abc def'''
-+ fnamemodify('abc" "def',      ':S'      )	'''abc" "def'''
-+ fnamemodify('abc"%"def',      ':S'      )	'''abc"%"def'''
-+ fnamemodify('abc'' ''def',    ':S'      )	'''abc''\'''' ''\''''def'''
-+ fnamemodify('abc''%''def',    ':S'      )	'''abc''\''''%''\''''def'''
-+ fnamemodify("abc\ndef",       ':S'      )	'''abc^@def'''
-+ fnamemodify("abc\ndef",       ':S'      )	'''abc\^@def'''
-+ vim: ts=8
-*** ../vim-7.4.190/runtime/doc/cmdline.txt	2013-11-09 05:30:18.000000000 +0100
---- runtime/doc/cmdline.txt	2014-02-23 23:20:57.020762003 +0100
-***************
-*** 758,763 ****
---- 758,764 ----
-  function expand() |expand()|.
-  	%	Is replaced with the current file name.		  *:_%* *c_%*
-  	#	Is replaced with the alternate file name.	  *:_#* *c_#*
-+ 		This is remembered for every window.
-  	#n	(where n is a number) is replaced with		  *:_#0* *:_#n*
-  		the file name of buffer n.  "#0" is the same as "#".     *c_#n*
-  	##	Is replaced with all names in the argument list	  *:_##* *c_##*
-***************
-*** 823,830 ****
-  		   the start of the function.
-  
-  							 *filename-modifiers*
-! 	 *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
-! 	        *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
-  The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
-  "<afile>" or "<abuf>".  They are also used with the |fnamemodify()| function.
-  These are not available when Vim has been compiled without the |+modify_fname|
---- 824,831 ----
-  		   the start of the function.
-  
-  							 *filename-modifiers*
-! *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
-!      *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
-  The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
-  "<afile>" or "<abuf>".  They are also used with the |fnamemodify()| function.
-  These are not available when Vim has been compiled without the |+modify_fname|
-***************
-*** 879,884 ****
---- 880,889 ----
-  	:gs?pat?sub?
-  		Substitute all occurrences of "pat" with "sub".  Otherwise
-  		this works like ":s".
-+ 	:S	Escape special characters for use with a shell command (see 
-+ 		|shellescape()|). Must be the last one. Examples: >
-+ 		    :!dir <cfile>:S
-+ 		    :call system('chmod +w -- ' . expand('%:S'))
-  
-  Examples, when the file name is "src/version.c", current dir
-  "/home/mool/vim": >
-*** ../vim-7.4.190/runtime/doc/eval.txt	2014-01-14 12:33:32.000000000 +0100
---- runtime/doc/eval.txt	2014-02-23 23:19:32.420762138 +0100
-***************
-*** 5414,5419 ****
---- 5428,5434 ----
-  <		This results in a directory listing for the file under the
-  		cursor.  Example of use with |system()|: >
-  		    :call system("chmod +w -- " . shellescape(expand("%")))
-+ <		See also |::S|.
-  
-  
-  shiftwidth()						*shiftwidth()*
-***************
-*** 5896,5909 ****
-  		passed as stdin to the command.  The string is written as-is,
-  		you need to take care of using the correct line separators
-  		yourself.  Pipes are not used.
-! 		Note: Use |shellescape()| to escape special characters in a
-! 		command argument.  Newlines in {expr} may cause the command to
-! 		fail.  The characters in 'shellquote' and 'shellxquote' may
-! 		also cause trouble.
-  		This is not to be used for interactive commands.
-  
-  		The result is a String.  Example: >
-  		    :let files = system("ls " .  shellescape(expand('%:h')))
-  
-  <		To make the result more system-independent, the shell output
-  		is filtered to replace <CR> with <NL> for Macintosh, and
---- 5911,5926 ----
-  		passed as stdin to the command.  The string is written as-is,
-  		you need to take care of using the correct line separators
-  		yourself.  Pipes are not used.
-! 		Note: Use |shellescape()| or |::S| with |expand()| or 
-! 		|fnamemodify()| to escape special characters in a command 
-! 		argument.  Newlines in {expr} may cause the command to fail.  
-! 		The characters in 'shellquote' and 'shellxquote' may also 
-! 		cause trouble.
-  		This is not to be used for interactive commands.
-  
-  		The result is a String.  Example: >
-  		    :let files = system("ls " .  shellescape(expand('%:h')))
-+ 		    :let files = system('ls ' . expand('%:h:S'))
-  
-  <		To make the result more system-independent, the shell output
-  		is filtered to replace <CR> with <NL> for Macintosh, and
-*** ../vim-7.4.190/runtime/doc/map.txt	2013-08-10 13:24:56.000000000 +0200
---- runtime/doc/map.txt	2014-02-23 23:19:32.424762138 +0100
-***************
-*** 380,386 ****
-     The simplest way to load a set of related language mappings is by using the
-  'keymap' option.  See |45.5|.
-     In Insert mode and in Command-line mode the mappings can be disabled with
-! the CTRL-^ command |i_CTRL-^| |c_CTRL-^| These commands change the value of
-  the 'iminsert' option.  When starting to enter a normal command line (not a
-  search pattern) the mappings are disabled until a CTRL-^ is typed.  The state
-  last used is remembered for Insert mode and Search patterns separately.  The
---- 380,386 ----
-     The simplest way to load a set of related language mappings is by using the
-  'keymap' option.  See |45.5|.
-     In Insert mode and in Command-line mode the mappings can be disabled with
-! the CTRL-^ command |i_CTRL-^| |c_CTRL-^|. These commands change the value of
-  the 'iminsert' option.  When starting to enter a normal command line (not a
-  search pattern) the mappings are disabled until a CTRL-^ is typed.  The state
-  last used is remembered for Insert mode and Search patterns separately.  The
-***************
-*** 593,599 ****
-  When you have a mapping that contains an Ex command, you need to put a line
-  terminator after it to have it executed.  The use of <CR> is recommended for
-  this (see |<>|).  Example: >
-!    :map  _ls  :!ls -l %<CR>:echo "the end"<CR>
-  
-  To avoid mapping of the characters you type in insert or Command-line mode,
-  type a CTRL-V first.  The mapping in Insert mode is disabled if the 'paste'
---- 593,599 ----
-  When you have a mapping that contains an Ex command, you need to put a line
-  terminator after it to have it executed.  The use of <CR> is recommended for
-  this (see |<>|).  Example: >
-!    :map  _ls  :!ls -l %:S<CR>:echo "the end"<CR>
-  
-  To avoid mapping of the characters you type in insert or Command-line mode,
-  type a CTRL-V first.  The mapping in Insert mode is disabled if the 'paste'
-*** ../vim-7.4.190/runtime/doc/options.txt	2013-11-12 04:43:57.000000000 +0100
---- runtime/doc/options.txt	2014-02-23 23:19:32.428762138 +0100
-***************
-*** 4757,4764 ****
-  			global or local to buffer |global-local|
-  			{not in Vi}
-  	Program to use for the ":make" command.  See |:make_makeprg|.
-! 	This option may contain '%' and '#' characters, which are expanded to
-! 	the current and alternate file name. |:_%| |:_#|
-  	Environment variables are expanded |:set_env|.  See |option-backslash|
-  	about including spaces and backslashes.
-  	Note that a '|' must be escaped twice: once for ":set" and once for
---- 4757,4765 ----
-  			global or local to buffer |global-local|
-  			{not in Vi}
-  	Program to use for the ":make" command.  See |:make_makeprg|.
-! 	This option may contain '%' and '#' characters (see  |:_%| and |:_#|), 
-! 	which are expanded to the current and alternate file name.  Use |::S| 
-! 	to escape file names in case they contain special characters.
-  	Environment variables are expanded |:set_env|.  See |option-backslash|
-  	about including spaces and backslashes.
-  	Note that a '|' must be escaped twice: once for ":set" and once for
-*** ../vim-7.4.190/runtime/doc/quickfix.txt	2013-08-10 13:25:00.000000000 +0200
---- runtime/doc/quickfix.txt	2014-02-23 23:19:32.432762138 +0100
-***************
-*** 838,844 ****
-  The alltests.py script seems to be used quite often, that's all.
-  Useful values for the 'makeprg' options therefore are:
-   setlocal makeprg=./alltests.py " Run a testsuite
-!  setlocal makeprg=python %      " Run a single testcase
-  
-  Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
-  
---- 838,844 ----
-  The alltests.py script seems to be used quite often, that's all.
-  Useful values for the 'makeprg' options therefore are:
-   setlocal makeprg=./alltests.py " Run a testsuite
-!  setlocal makeprg=python\ %:S   " Run a single testcase
-  
-  Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
-  
-***************
-*** 1332,1338 ****
-  Here is an alternative from Michael F. Lamb for Unix that filters the errors
-  first: >
-    :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
-!   :setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter
-  
-  You need to put the following in "vim-javac-filter" somewhere in your path
-  (e.g., in ~/bin) and make it executable: >
---- 1332,1338 ----
-  Here is an alternative from Michael F. Lamb for Unix that filters the errors
-  first: >
-    :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
-!   :setl makeprg=javac\ %:S\ 2>&1\ \\\|\ vim-javac-filter
-  
-  You need to put the following in "vim-javac-filter" somewhere in your path
-  (e.g., in ~/bin) and make it executable: >
-*** ../vim-7.4.190/runtime/doc/usr_30.txt	2013-08-10 13:25:05.000000000 +0200
---- runtime/doc/usr_30.txt	2014-02-23 23:19:32.432762138 +0100
-***************
-*** 128,134 ****
-  You can include special Vim keywords in the command specification.  The %
-  character expands to the name of the current file.  So if you execute the
-  command: >
-! 	:set makeprg=make\ %
-  
-  When you are editing main.c, then ":make" executes the following command: >
-  
---- 128,134 ----
-  You can include special Vim keywords in the command specification.  The %
-  character expands to the name of the current file.  So if you execute the
-  command: >
-! 	:set makeprg=make\ %:S
-  
-  When you are editing main.c, then ":make" executes the following command: >
-  
-***************
-*** 137,143 ****
-  This is not too useful, so you will refine the command a little and use the :r
-  (root) modifier: >
-  
-! 	:set makeprg=make\ %:r.o
-  
-  Now the command executed is as follows: >
-  
---- 137,143 ----
-  This is not too useful, so you will refine the command a little and use the :r
-  (root) modifier: >
-  
-! 	:set makeprg=make\ %:r:S.o
-  
-  Now the command executed is as follows: >
-  
-*** ../vim-7.4.190/runtime/doc/usr_40.txt	2013-08-10 13:25:05.000000000 +0200
---- runtime/doc/usr_40.txt	2014-02-23 23:19:32.432762138 +0100
-***************
-*** 209,215 ****
-  separates the two commands.  This also means that a | character can't be used
-  inside a map command.  To include one, use <Bar> (five characters).  Example:
-  >
-! 	:map <F8> :write <Bar> !checkin %<CR>
-  
-  The same problem applies to the ":unmap" command, with the addition that you
-  have to watch out for trailing white space.  These two commands are different:
---- 209,215 ----
-  separates the two commands.  This also means that a | character can't be used
-  inside a map command.  To include one, use <Bar> (five characters).  Example:
-  >
-! 	:map <F8> :write <Bar> !checkin %:S<CR>
-  
-  The same problem applies to the ":unmap" command, with the addition that you
-  have to watch out for trailing white space.  These two commands are different:
-*** ../vim-7.4.190/runtime/doc/usr_42.txt	2013-08-10 13:25:05.000000000 +0200
---- runtime/doc/usr_42.txt	2014-02-23 23:19:32.432762138 +0100
-***************
-*** 311,317 ****
-  item with a bitmap.  For example, define a new toolbar item with: >
-  
-  	:tmenu ToolBar.Compile  Compile the current file
-! 	:amenu ToolBar.Compile  :!cc % -o %:r<CR>
-  
-  Now you need to create the icon.  For MS-Windows it must be in bitmap format,
-  with the name "Compile.bmp".  For Unix XPM format is used, the file name is
---- 311,317 ----
-  item with a bitmap.  For example, define a new toolbar item with: >
-  
-  	:tmenu ToolBar.Compile  Compile the current file
-! 	:amenu ToolBar.Compile  :!cc %:S -o %:r:S<CR>
-  
-  Now you need to create the icon.  For MS-Windows it must be in bitmap format,
-  with the name "Compile.bmp".  For Unix XPM format is used, the file name is
-*** ../vim-7.4.190/runtime/doc/vi_diff.txt	2013-08-10 13:25:07.000000000 +0200
---- runtime/doc/vi_diff.txt	2014-02-23 23:19:32.432762138 +0100
-***************
-*** 540,546 ****
-  Added :wnext command.  Same as ":write" followed by ":next".
-  
-  The ":w!" command always writes, also when the file is write protected.  In Vi
-! you would have to do ":!chmod +w %" and ":set noro".
-  
-  When 'tildeop' has been set, "~" is an operator (must be followed by a
-  movement command).
---- 540,546 ----
-  Added :wnext command.  Same as ":write" followed by ":next".
-  
-  The ":w!" command always writes, also when the file is write protected.  In Vi
-! you would have to do ":!chmod +w %:S" and ":set noro".
-  
-  When 'tildeop' has been set, "~" is an operator (must be followed by a
-  movement command).
-*** ../vim-7.4.190/src/eval.c	2014-02-23 22:54:54.724764490 +0100
---- src/eval.c	2014-02-23 23:19:32.432762138 +0100
-***************
-*** 16950,16956 ****
-      typval_T	*rettv;
-  {
-      rettv->vval.v_string = vim_strsave_shellescape(
-! 		       get_tv_string(&argvars[0]), non_zero_arg(&argvars[1]));
-      rettv->v_type = VAR_STRING;
-  }
-  
---- 16950,16956 ----
-      typval_T	*rettv;
-  {
-      rettv->vval.v_string = vim_strsave_shellescape(
-! 		get_tv_string(&argvars[0]), non_zero_arg(&argvars[1]), TRUE);
-      rettv->v_type = VAR_STRING;
-  }
-  
-***************
-*** 24355,24360 ****
---- 24355,24371 ----
-  	}
-      }
-  
-+     if (src[*usedlen] == ':' && src[*usedlen + 1] == 'S')
-+     {
-+ 	p = vim_strsave_shellescape(*fnamep, FALSE, FALSE);
-+ 	if (p == NULL)
-+ 	    return -1;
-+ 	vim_free(*bufp);
-+ 	*bufp = *fnamep = p;
-+ 	*fnamelen = (int)STRLEN(p);
-+ 	*usedlen += 2;
-+     }
-+ 
-      return valid;
-  }
-  
-*** ../vim-7.4.190/src/misc2.c	2014-01-06 06:18:44.000000000 +0100
---- src/misc2.c	2014-02-23 23:25:44.168761546 +0100
-***************
-*** 1369,1380 ****
-   * Escape a newline, depending on the 'shell' option.
-   * When "do_special" is TRUE also replace "!", "%", "#" and things starting
-   * with "<" like "<cfile>".
-   * Returns the result in allocated memory, NULL if we have run out.
-   */
-      char_u *
-! vim_strsave_shellescape(string, do_special)
-      char_u	*string;
-      int		do_special;
-  {
-      unsigned	length;
-      char_u	*p;
---- 1369,1382 ----
-   * Escape a newline, depending on the 'shell' option.
-   * When "do_special" is TRUE also replace "!", "%", "#" and things starting
-   * with "<" like "<cfile>".
-+  * When "do_newline" is FALSE do not escape newline unless it is csh shell.
-   * Returns the result in allocated memory, NULL if we have run out.
-   */
-      char_u *
-! vim_strsave_shellescape(string, do_special, do_newline)
-      char_u	*string;
-      int		do_special;
-+     int		do_newline;
-  {
-      unsigned	length;
-      char_u	*p;
-***************
-*** 1403,1409 ****
-  # endif
-  	if (*p == '\'')
-  	    length += 3;		/* ' => '\'' */
-! 	if (*p == '\n' || (*p == '!' && (csh_like || do_special)))
-  	{
-  	    ++length;			/* insert backslash */
-  	    if (csh_like && do_special)
---- 1405,1412 ----
-  # endif
-  	if (*p == '\'')
-  	    length += 3;		/* ' => '\'' */
-! 	if ((*p == '\n' && (csh_like || do_newline))
-! 		|| (*p == '!' && (csh_like || do_special)))
-  	{
-  	    ++length;			/* insert backslash */
-  	    if (csh_like && do_special)
-***************
-*** 1454,1460 ****
-  		++p;
-  		continue;
-  	    }
-! 	    if (*p == '\n' || (*p == '!' && (csh_like || do_special)))
-  	    {
-  		*d++ = '\\';
-  		if (csh_like && do_special)
---- 1457,1464 ----
-  		++p;
-  		continue;
-  	    }
-! 	    if ((*p == '\n' && (csh_like || do_newline))
-! 		    || (*p == '!' && (csh_like || do_special)))
-  	    {
-  		*d++ = '\\';
-  		if (csh_like && do_special)
-*** ../vim-7.4.190/src/normal.c	2014-02-22 23:49:30.268896843 +0100
---- src/normal.c	2014-02-23 23:19:32.436762138 +0100
-***************
-*** 5790,5796 ****
-      {
-  	/* Escape the argument properly for a shell command */
-  	ptr = vim_strnsave(ptr, n);
-! 	p = vim_strsave_shellescape(ptr, TRUE);
-  	vim_free(ptr);
-  	if (p == NULL)
-  	{
---- 5790,5796 ----
-      {
-  	/* Escape the argument properly for a shell command */
-  	ptr = vim_strnsave(ptr, n);
-! 	p = vim_strsave_shellescape(ptr, TRUE, TRUE);
-  	vim_free(ptr);
-  	if (p == NULL)
-  	{
-*** ../vim-7.4.190/src/proto/misc2.pro	2013-08-10 13:37:20.000000000 +0200
---- src/proto/misc2.pro	2014-02-23 23:19:32.436762138 +0100
-***************
-*** 32,38 ****
-  char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
-  char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
-  int csh_like_shell __ARGS((void));
-! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special));
-  char_u *vim_strsave_up __ARGS((char_u *string));
-  char_u *vim_strnsave_up __ARGS((char_u *string, int len));
-  void vim_strup __ARGS((char_u *p));
---- 32,38 ----
-  char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
-  char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
-  int csh_like_shell __ARGS((void));
-! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special, int do_newline));
-  char_u *vim_strsave_up __ARGS((char_u *string));
-  char_u *vim_strnsave_up __ARGS((char_u *string, int len));
-  void vim_strup __ARGS((char_u *p));
-*** ../vim-7.4.190/src/version.c	2014-02-23 22:58:12.072764176 +0100
---- src/version.c	2014-02-23 23:35:51.044760579 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     191,
-  /**/
-
--- 
-Windows
-M!uqoms
-
- /// 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    ///
diff --git a/7.4.192 b/7.4.192
deleted file mode 100644
index 256d0fa..0000000
--- a/7.4.192
+++ /dev/null
@@ -1,44 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.192
-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.192
-Problem:    Memory leak when giving E853.
-Solution:   Free the argument. (Dominique Pelle)
-Files:      src/eval.c
-
-
-*** ../vim-7.4.191/src/eval.c	2014-02-23 23:38:58.824760280 +0100
---- src/eval.c	2014-02-24 03:27:39.244738435 +0100
-***************
-*** 21457,21462 ****
---- 21457,21463 ----
-  		if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0)
-  		{
-  		    EMSG2(_("E853: Duplicate argument name: %s"), arg);
-+ 		    vim_free(arg);
-  		    goto erret;
-  		}
-  
-*** ../vim-7.4.191/src/version.c	2014-02-23 23:38:58.828760280 +0100
---- src/version.c	2014-02-24 03:28:23.068738365 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     192,
-  /**/
-
--- 
-Seen on the back of a biker's vest: If you can read this, my wife fell off.
-
- /// 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    ///
diff --git a/7.4.193 b/7.4.193
deleted file mode 100644
index f84a9d1..0000000
--- a/7.4.193
+++ /dev/null
@@ -1,106 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.193
-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.193
-Problem:    Typos in messages.
-Solution:   "then" -> "than". (Dominique Pelle)
-Files:	    src/if_py_both.h, src/spell.c
-
-
-*** ../vim-7.4.192/src/if_py_both.h	2014-02-15 15:58:55.081904773 +0100
---- src/if_py_both.h	2014-03-08 16:10:46.015459417 +0100
-***************
-*** 236,242 ****
-  	if (*result <= 0)
-  	{
-  	    PyErr_SET_STRING(PyExc_ValueError,
-! 		    N_("number must be greater then zero"));
-  	    return -1;
-  	}
-      }
---- 236,242 ----
-  	if (*result <= 0)
-  	{
-  	    PyErr_SET_STRING(PyExc_ValueError,
-! 		    N_("number must be greater than zero"));
-  	    return -1;
-  	}
-      }
-***************
-*** 2405,2411 ****
-  	if ((item = PyIter_Next(iterator)))
-  	{
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater then %d "
-  			"to extended slice"), 0);
-  	    Py_DECREF(item);
-  	    ret = -1;
---- 2405,2411 ----
-  	if ((item = PyIter_Next(iterator)))
-  	{
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater than %d "
-  			"to extended slice"), 0);
-  	    Py_DECREF(item);
-  	    ret = -1;
-***************
-*** 2510,2516 ****
-  	{
-  	    Py_DECREF(iterator);
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater then %d "
-  			"to extended slice"), (int) slicelen);
-  	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	    PyMem_Free(lis);
---- 2510,2516 ----
-  	{
-  	    Py_DECREF(iterator);
-  	    PyErr_FORMAT(PyExc_ValueError,
-! 		    N_("attempt to assign sequence of size greater than %d "
-  			"to extended slice"), (int) slicelen);
-  	    list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
-  	    PyMem_Free(lis);
-*** ../vim-7.4.192/src/spell.c	2014-02-23 22:52:33.372764715 +0100
---- src/spell.c	2014-03-08 16:10:46.019459417 +0100
-***************
-*** 12037,12043 ****
-  		/* Normal byte, go one level deeper.  If it's not equal to the
-  		 * byte in the bad word adjust the score.  But don't even try
-  		 * when the byte was already changed.  And don't try when we
-! 		 * just deleted this byte, accepting it is always cheaper then
-  		 * delete + substitute. */
-  		if (c == fword[sp->ts_fidx]
-  #ifdef FEAT_MBYTE
---- 12037,12043 ----
-  		/* Normal byte, go one level deeper.  If it's not equal to the
-  		 * byte in the bad word adjust the score.  But don't even try
-  		 * when the byte was already changed.  And don't try when we
-! 		 * just deleted this byte, accepting it is always cheaper than
-  		 * delete + substitute. */
-  		if (c == fword[sp->ts_fidx]
-  #ifdef FEAT_MBYTE
-*** ../vim-7.4.192/src/version.c	2014-02-24 03:31:55.816738026 +0100
---- src/version.c	2014-03-08 16:11:51.591460422 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     193,
-  /**/
-
--- 
-BEDEVERE: How do you know so much about swallows?
-ARTHUR:   Well you have to know these things when you're a king, you know.
-                 "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    ///
diff --git a/7.4.194 b/7.4.194
deleted file mode 100644
index e73bd13..0000000
--- a/7.4.194
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.194
-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.194
-Problem:    Can't build for Android.
-Solution:   Add #if condition. (Fredrik Fornwall)
-Files:	    src/mbyte.c
-
-
-*** ../vim-7.4.193/src/mbyte.c	2014-01-14 13:26:17.000000000 +0100
---- src/mbyte.c	2014-03-03 22:41:30.527101306 +0100
-***************
-*** 708,714 ****
-  	     * API */
-  	    n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1;
-  #else
-! # if defined(MACOS) || defined(__amigaos4__)
-  	    /*
-  	     * if mblen() is not available, character which MSB is turned on
-  	     * are treated as leading byte character. (note : This assumption
---- 708,714 ----
-  	     * API */
-  	    n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1;
-  #else
-! # if defined(MACOS) || defined(__amigaos4__) || defined(__ANDROID__)
-  	    /*
-  	     * if mblen() is not available, character which MSB is turned on
-  	     * are treated as leading byte character. (note : This assumption
-*** ../vim-7.4.193/src/version.c	2014-03-08 16:13:39.123462070 +0100
---- src/version.c	2014-03-12 14:53:45.148684209 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     194,
-  /**/
-
--- 
-A programmer's wife asks him: "Please run to the store and pick up a loaf of
-bread.  If they have eggs, get a dozen".  The programmer comes home with 12
-loafs of bread.
-
- /// 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    ///
diff --git a/7.4.195 b/7.4.195
deleted file mode 100644
index 0cd888d..0000000
--- a/7.4.195
+++ /dev/null
@@ -1,164 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.195
-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.195 (after 7.4.193)
-Problem:    Python tests fail.
-Solution:   Change "then" to "than" in more places. (Dominique Pelle, Taro
-	    Muraoka)
-Files:	    src/testdir/test86.in, src/testdir/test86.ok,
-	    src/testdir/test87.in, src/testdir/test87.ok
-
-
-*** ../vim-7.4.194/src/testdir/test86.in	2014-02-11 18:47:18.678311042 +0100
---- src/testdir/test86.in	2014-03-12 15:20:41.512708977 +0100
-***************
-*** 675,681 ****
-  # Check GCing iterator that was not fully exhausted
-  i = iter(vim.buffers)
-  cb.append('i:' + str(next(i)))
-! # and also check creating more then one iterator at a time
-  i2 = iter(vim.buffers)
-  cb.append('i2:' + str(next(i2)))
-  cb.append('i:' + str(next(i)))
---- 675,681 ----
-  # Check GCing iterator that was not fully exhausted
-  i = iter(vim.buffers)
-  cb.append('i:' + str(next(i)))
-! # and also check creating more than one iterator at a time
-  i2 = iter(vim.buffers)
-  cb.append('i2:' + str(next(i2)))
-  cb.append('i:' + str(next(i)))
-*** ../vim-7.4.194/src/testdir/test86.ok	2014-01-14 16:54:53.000000000 +0100
---- src/testdir/test86.ok	2014-03-12 15:19:28.080707851 +0100
-***************
-*** 882,892 ****
-  l[:] = FailingIter():NotImplementedError:('iter',)
-  l[:] = FailingIterNext():NotImplementedError:('next',)
-  <<< Finished
-! nel[1:10:2]  = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',)
-  ('a', 'b', 'c', 'O')
-  nel[1:10:2]  = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
-  ('a', 'b', 'c', 'O')
-! nel[1:1:-1]  = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',)
-  ('a', 'b', 'c', 'O')
-  nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
-  ('a', 'b', 'c', 'O')
---- 882,892 ----
-  l[:] = FailingIter():NotImplementedError:('iter',)
-  l[:] = FailingIterNext():NotImplementedError:('next',)
-  <<< Finished
-! nel[1:10:2]  = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',)
-  ('a', 'b', 'c', 'O')
-  nel[1:10:2]  = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
-  ('a', 'b', 'c', 'O')
-! nel[1:1:-1]  = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',)
-  ('a', 'b', 'c', 'O')
-  nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
-  ('a', 'b', 'c', 'O')
-***************
-*** 1233,1240 ****
-  >>> Testing NumberToLong using vim.buffers[%s]
-  vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
-  vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
-! vim.buffers[-1]:ValueError:('number must be greater then zero',)
-! vim.buffers[0]:ValueError:('number must be greater then zero',)
-  <<< Finished
-  > Current
-  >> CurrentGetattr
---- 1233,1240 ----
-  >>> Testing NumberToLong using vim.buffers[%s]
-  vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
-  vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
-! vim.buffers[-1]:ValueError:('number must be greater than zero',)
-! vim.buffers[0]:ValueError:('number must be greater than zero',)
-  <<< Finished
-  > Current
-  >> CurrentGetattr
-*** ../vim-7.4.194/src/testdir/test87.in	2014-02-11 18:47:18.678311042 +0100
---- src/testdir/test87.in	2014-03-12 15:21:20.036709567 +0100
-***************
-*** 664,670 ****
-  # Check GCing iterator that was not fully exhausted
-  i = iter(vim.buffers)
-  cb.append('i:' + str(next(i)))
-! # and also check creating more then one iterator at a time
-  i2 = iter(vim.buffers)
-  cb.append('i2:' + str(next(i2)))
-  cb.append('i:' + str(next(i)))
---- 664,670 ----
-  # Check GCing iterator that was not fully exhausted
-  i = iter(vim.buffers)
-  cb.append('i:' + str(next(i)))
-! # and also check creating more than one iterator at a time
-  i2 = iter(vim.buffers)
-  cb.append('i2:' + str(next(i2)))
-  cb.append('i:' + str(next(i)))
-*** ../vim-7.4.194/src/testdir/test87.ok	2014-01-14 16:54:53.000000000 +0100
---- src/testdir/test87.ok	2014-03-12 15:19:28.080707851 +0100
-***************
-*** 882,892 ****
-  l[:] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError('iter',))
-  l[:] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError('next',))
-  <<< Finished
-! nel[1:10:2]  = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 2 to extended slice',))
-  (b'a', b'b', b'c', b'O')
-  nel[1:10:2]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',))
-  (b'a', b'b', b'c', b'O')
-! nel[1:1:-1]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 0 to extended slice',))
-  (b'a', b'b', b'c', b'O')
-  nel[:] = FailingIterNextN(2):(<class 'NotImplementedError'>, NotImplementedError('next N',))
-  (b'a', b'b', b'c', b'O')
---- 882,892 ----
-  l[:] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError('iter',))
-  l[:] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError('next',))
-  <<< Finished
-! nel[1:10:2]  = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater than 2 to extended slice',))
-  (b'a', b'b', b'c', b'O')
-  nel[1:10:2]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',))
-  (b'a', b'b', b'c', b'O')
-! nel[1:1:-1]  = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater than 0 to extended slice',))
-  (b'a', b'b', b'c', b'O')
-  nel[:] = FailingIterNextN(2):(<class 'NotImplementedError'>, NotImplementedError('next N',))
-  (b'a', b'b', b'c', b'O')
-***************
-*** 1233,1240 ****
-  >>> Testing NumberToLong using vim.buffers[%s]
-  vim.buffers[[]]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got list',))
-  vim.buffers[None]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got NoneType',))
-! vim.buffers[-1]:(<class 'ValueError'>, ValueError('number must be greater then zero',))
-! vim.buffers[0]:(<class 'ValueError'>, ValueError('number must be greater then zero',))
-  <<< Finished
-  > Current
-  >> CurrentGetattr
---- 1233,1240 ----
-  >>> Testing NumberToLong using vim.buffers[%s]
-  vim.buffers[[]]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got list',))
-  vim.buffers[None]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got NoneType',))
-! vim.buffers[-1]:(<class 'ValueError'>, ValueError('number must be greater than zero',))
-! vim.buffers[0]:(<class 'ValueError'>, ValueError('number must be greater than zero',))
-  <<< Finished
-  > Current
-  >> CurrentGetattr
-*** ../vim-7.4.194/src/version.c	2014-03-12 14:54:29.920684895 +0100
---- src/version.c	2014-03-12 15:19:20.016707728 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     195,
-  /**/
-
--- 
-Zen Microsystems: we're the om in .commmmmmmmm
-
- /// 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    ///
diff --git a/7.4.196 b/7.4.196
deleted file mode 100644
index d483b24..0000000
--- a/7.4.196
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.196
-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.196
-Problem:    Tests fail on Solaris 9 and 10.
-Solution:   Use "test -f" instead of "test -e".  (Laurent Blume)
-Files:	    src/testdir/Makefile
-
-
-*** ../vim-7.4.195/src/testdir/Makefile	2014-02-23 23:38:58.812760280 +0100
---- src/testdir/Makefile	2014-03-12 15:46:41.352732878 +0100
-***************
-*** 61,67 ****
-  test1.out: test1.in
-  	-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
-  	$(RUN_VIM) $*.in
-! 	@/bin/sh -c "if test -e wrongtermsize; \
-  		then echo; \
-  		echo test1 FAILED - terminal size must be 80x24 or larger; \
-  		echo; exit 1; \
---- 61,67 ----
-  test1.out: test1.in
-  	-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
-  	$(RUN_VIM) $*.in
-! 	@/bin/sh -c "if test -f wrongtermsize; \
-  		then echo; \
-  		echo test1 FAILED - terminal size must be 80x24 or larger; \
-  		echo; exit 1; \
-*** ../vim-7.4.195/src/version.c	2014-03-12 15:26:36.432714415 +0100
---- src/version.c	2014-03-12 15:48:09.700734232 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     196,
-  /**/
-
--- 
-My Go, this amn keyboar oesn't have a .
-
- /// 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    ///
diff --git a/7.4.197 b/7.4.197
deleted file mode 100644
index 80783eb..0000000
--- a/7.4.197
+++ /dev/null
@@ -1,1052 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.197
-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.197
-Problem:    Various problems on VMS.
-Solution:   Fix several VMS problems. (Zoltan Arpadffy)
-Files:	    runtime/doc/os_vms.txt, src/Make_vms.mms, src/fileio.c,
-	    src/os_unix.c, src/os_unix.h, src/os_vms.c, src/os_vms_conf.h,
-	    src/proto/os_vms.pro, src/testdir/Make_vms.mms,
-	    src/testdir/test72.in, src/testdir/test77a.com,
-	    src/testdir/test77a.in, src/testdir/test77a.ok src/undo.c
-
-
-*** ../vim-7.4.196/runtime/doc/os_vms.txt	2013-08-10 13:24:59.000000000 +0200
---- runtime/doc/os_vms.txt	2014-03-12 15:55:50.196741288 +0100
-***************
-*** 1,4 ****
-! *os_vms.txt*    For Vim version 7.4.  Last change: 2011 Aug 14
-  
-  
-  		  VIM REFERENCE MANUAL
---- 1,4 ----
-! *os_vms.txt*    For Vim version 7.4.  Last change: 2014 Feb 24
-  
-  
-  		  VIM REFERENCE MANUAL
-***************
-*** 24,30 ****
-  
-  1. Getting started					*vms-started*
-  
-! Vim (Vi IMproved) is a vi-compatible text editor that runs on nearly every
-  operating system known to humanity.  Now use Vim on OpenVMS too, in character
-  or X/Motif environment.  It is fully featured and absolutely compatible with
-  Vim on other operating systems.
---- 24,30 ----
-  
-  1. Getting started					*vms-started*
-  
-! Vim (Vi IMproved) is a Vi-compatible text editor that runs on nearly every
-  operating system known to humanity.  Now use Vim on OpenVMS too, in character
-  or X/Motif environment.  It is fully featured and absolutely compatible with
-  Vim on other operating systems.
-***************
-*** 764,769 ****
---- 764,785 ----
-  
-  9. VMS related changes					*vms-changes*
-  
-+ Version 7.4 
-+ - Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name" 
-+   add _un_ at the beginning to keep the extension
-+ - correct swap file name wildcard handling
-+ - handle iconv usage correctly
-+ - do not optimize on vax - otherwise it hangs compiling crypto files
-+ - fileio.c fix the comment
-+ - correct RealWaitForChar 
-+ - after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
-+   G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
-+ - guard agains crashes that are caused by mixed filenames
-+ - [TESTDIR]make_vms.mms changed to see the output files
-+ - Improve tests, update known issues
-+ - minor compiler warnings fixed
-+ - CTAGS 5.8 +regex included
-+ 
-  Version 7.3
-  - CTAGS 5.8 included
-  - VMS compile warnings fixed - floating-point overflow warning corrected on VAX
-*** ../vim-7.4.196/src/Make_vms.mms	2013-05-06 04:06:04.000000000 +0200
---- src/Make_vms.mms	2014-03-12 15:55:50.196741288 +0100
-***************
-*** 2,8 ****
-  # Makefile for Vim on OpenVMS
-  #
-  # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-! # Last change:  2008 Aug 16
-  #
-  # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
-  # with MMS and MMK
---- 2,8 ----
-  # Makefile for Vim on OpenVMS
-  #
-  # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-! # Last change:  2014 Feb 24
-  #
-  # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
-  # with MMS and MMK
-***************
-*** 21,29 ****
-  ######################################################################
-  # Configuration section.
-  ######################################################################
-- # VMS version
-- # Uncomment if you use VMS version 6.2 or older
-- # OLD_VMS = YES
-  
-  # Compiler selection.
-  # Comment out if you use the VAXC compiler
---- 21,26 ----
-***************
-*** 60,66 ****
-  
-  # Uncomment if want a debug version. Resulting executable is DVIM.EXE
-  # Development purpose only! Normally, it should not be defined. !!!
-! # DEBUG = YES
-  
-  # Languages support for Perl, Python, TCL etc.
-  # If you don't need it really, leave them behind the comment.
---- 57,63 ----
-  
-  # Uncomment if want a debug version. Resulting executable is DVIM.EXE
-  # Development purpose only! Normally, it should not be defined. !!!
-! # DEBUG = YES 
-  
-  # Languages support for Perl, Python, TCL etc.
-  # If you don't need it really, leave them behind the comment.
-***************
-*** 87,92 ****
---- 84,92 ----
-  # Allow FEATURE_MZSCHEME
-  # VIM_MZSCHEME = YES
-  
-+ # Use ICONV
-+ # VIM_ICONV  = YES
-+ 
-  ######################################################################
-  # Directory, library and include files configuration section.
-  # Normally you need not to change anything below. !
-***************
-*** 99,123 ****
-  
-  .IFDEF MMSVAX
-  .IFDEF DECC	     # VAX with DECC
-! CC_DEF  = cc # /decc # some system requires this switch but when it is not required /ver might fail
-  PREFIX  = /prefix=all
-  .ELSE		     # VAX with VAXC
-  CC_DEF	= cc
-  PREFIX	=
-  CCVER	=
-  .ENDIF
-! .ELSE		     # AXP wixh DECC
-  CC_DEF  = cc
-  PREFIX  = /prefix=all
-  .ENDIF
-  
-  LD_DEF  = link
-  C_INC   = [.proto]
-  
-- .IFDEF OLD_VMS
-- VMS_DEF = ,"OLD_VMS"
-- .ENDIF
-- 
-  .IFDEF DEBUG
-  DEBUG_DEF = ,"DEBUG"
-  TARGET    = dvim.exe
---- 99,123 ----
-  
-  .IFDEF MMSVAX
-  .IFDEF DECC	     # VAX with DECC
-! CC_DEF  = cc # /decc # some versions require /decc switch but when it is not required /ver might fail
-  PREFIX  = /prefix=all
-+ OPTIMIZE= /noopt     # do not optimize on VAX. The compiler has hard time with crypto functions
-  .ELSE		     # VAX with VAXC
-  CC_DEF	= cc
-  PREFIX	=
-+ OPTIMIZE= /noopt
-  CCVER	=
-  .ENDIF
-! .ELSE		     # AXP and IA64 with DECC
-  CC_DEF  = cc
-  PREFIX  = /prefix=all
-+ OPTIMIZE= /opt
-  .ENDIF
-  
-+ 
-  LD_DEF  = link
-  C_INC   = [.proto]
-  
-  .IFDEF DEBUG
-  DEBUG_DEF = ,"DEBUG"
-  TARGET    = dvim.exe
-***************
-*** 125,131 ****
-  LDFLAGS   = /debug
-  .ELSE
-  TARGET    = vim.exe
-! CFLAGS    = /opt$(PREFIX)
-  LDFLAGS   =
-  .ENDIF
-  
---- 125,131 ----
-  LDFLAGS   = /debug
-  .ELSE
-  TARGET    = vim.exe
-! CFLAGS    = $(OPTIMIZE)$(PREFIX)
-  LDFLAGS   =
-  .ENDIF
-  
-***************
-*** 274,279 ****
---- 274,284 ----
-  MZSCH_OBJ = if_mzsch.obj
-  .ENDIF
-  
-+ .IFDEF VIM_ICONV
-+ # ICONV related setup
-+ ICONV_DEF = ,"USE_ICONV"
-+ .ENDIF
-+ 
-  ######################################################################
-  # End of configuration section.
-  # Please, do not change anything below without programming experience.
-***************
-*** 287,294 ****
-  
-  .SUFFIXES : .obj .c
-  
-! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
-!  $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) -
-   $(CFLAGS)$(GUI_FLAG) -
-   /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
-  
---- 292,299 ----
-  
-  .SUFFIXES : .obj .c
-  
-! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
-!  $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
-   $(CFLAGS)$(GUI_FLAG) -
-   /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
-  
-***************
-*** 296,303 ****
-  # It is specially formated for correct display of unix like includes
-  # as $(GUI_INC) - replaced with $(GUI_INC_VER)
-  # Otherwise should not be any other difference.
-! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
-!  $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) -
-   $(CFLAGS)$(GUI_FLAG) -
-   /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
-  
---- 301,308 ----
-  # It is specially formated for correct display of unix like includes
-  # as $(GUI_INC) - replaced with $(GUI_INC_VER)
-  # Otherwise should not be any other difference.
-! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
-!  $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
-   $(CFLAGS)$(GUI_FLAG) -
-   /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
-  
-*** ../vim-7.4.196/src/fileio.c	2014-02-23 22:58:12.072764176 +0100
---- src/fileio.c	2014-03-12 15:55:50.200741288 +0100
-***************
-*** 7559,7565 ****
-      p = (char_u *)tempnam("tmp:", (char *)itmp);
-      if (p != NULL)
-      {
-! 	/* VMS will use '.LOG' if we don't explicitly specify an extension,
-  	 * and VIM will then be unable to find the file later */
-  	STRCPY(itmp, p);
-  	STRCAT(itmp, ".txt");
---- 7559,7565 ----
-      p = (char_u *)tempnam("tmp:", (char *)itmp);
-      if (p != NULL)
-      {
-! 	/* VMS will use '.LIS' if we don't explicitly specify an extension,
-  	 * and VIM will then be unable to find the file later */
-  	STRCPY(itmp, p);
-  	STRCAT(itmp, ".txt");
-*** ../vim-7.4.196/src/os_unix.c	2013-12-11 17:12:32.000000000 +0100
---- src/os_unix.c	2014-03-12 16:25:11.144768271 +0100
-***************
-*** 2965,2971 ****
---- 2965,2990 ----
-  
-      if (stat((char *)name, &st))
-  	return 0;
-+ #ifdef VMS
-+     /* Like on Unix system file can have executable rights but not necessarily
-+      * be an executable, but on Unix is not a default for an ordianry file to
-+      * have an executable flag - on VMS it is in most cases.
-+      * Therefore, this check does not have any sense - let keep us to the
-+      * conventions instead:
-+      * *.COM and *.EXE files are the executables - the rest are not. This is
-+      * not ideal but better then it was.
-+      */
-+     int vms_executable = 0;
-+     if (S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0)
-+     {
-+ 	if (strstr(vms_tolower((char*)name),".exe") != NULL
-+ 		|| strstr(vms_tolower((char*)name),".com")!= NULL)
-+ 	    vms_executable = 1;
-+     }
-+     return vms_executable;
-+ #else
-      return S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0;
-+ #endif
-  }
-  
-  /*
-***************
-*** 2983,2989 ****
---- 3002,3010 ----
-      /* If it's an absolute or relative path don't need to use $PATH. */
-      if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
-  				      || (name[1] == '.' && name[2] == '/'))))
-+     {
-  	return executable_file(name);
-+     }
-  
-      p = (char_u *)getenv("PATH");
-      if (p == NULL || *p == NUL)
-*** ../vim-7.4.196/src/os_unix.h	2013-12-11 17:12:32.000000000 +0100
---- src/os_unix.h	2014-03-12 15:55:50.204741288 +0100
-***************
-*** 302,308 ****
-  #  define USR_VIMRC_FILE2	"$HOME/vimfiles/vimrc"
-  # else
-  #  ifdef VMS
-! #   define USR_VIMRC_FILE2	"sys$login:vimfiles:vimrc"
-  #  else
-  #    define USR_VIMRC_FILE2	"~/.vim/vimrc"
-  #  endif
---- 302,308 ----
-  #  define USR_VIMRC_FILE2	"$HOME/vimfiles/vimrc"
-  # else
-  #  ifdef VMS
-! #   define USR_VIMRC_FILE2	"sys$login:vimfiles/vimrc"
-  #  else
-  #    define USR_VIMRC_FILE2	"~/.vim/vimrc"
-  #  endif
-***************
-*** 329,335 ****
-  #  define USR_GVIMRC_FILE2	"$HOME/vimfiles/gvimrc"
-  # else
-  #  ifdef VMS
-! #   define USR_GVIMRC_FILE2	"sys$login:vimfiles:gvimrc"
-  #  else
-  #   define USR_GVIMRC_FILE2	"~/.vim/gvimrc"
-  #  endif
---- 329,335 ----
-  #  define USR_GVIMRC_FILE2	"$HOME/vimfiles/gvimrc"
-  # else
-  #  ifdef VMS
-! #   define USR_GVIMRC_FILE2	"sys$login:vimfiles/gvimrc"
-  #  else
-  #   define USR_GVIMRC_FILE2	"~/.vim/gvimrc"
-  #  endif
-*** ../vim-7.4.196/src/os_vms.c	2013-12-11 17:12:32.000000000 +0100
---- src/os_vms.c	2014-03-12 16:26:17.544769288 +0100
-***************
-*** 296,301 ****
---- 296,313 ----
-  }
-  
-  /*
-+  * Convert string to lowercase - most often filename
-+  */
-+     char *
-+ vms_tolower( char *name )
-+ {
-+     int i,nlen = strlen(name);
-+     for (i = 0; i < nlen; i++)
-+ 	name[i] = TOLOWER_ASC(name[i]);
-+     return name;
-+ }
-+ 
-+ /*
-   * Convert VMS system() or lib$spawn() return code to Unix-like exit value.
-   */
-      int
-***************
-*** 361,373 ****
-  vms_wproc(char *name, int val)
-  {
-      int i;
--     int nlen;
-      static int vms_match_alloced = 0;
-  
-!     if (val != DECC$K_FILE) /* Directories and foreign non VMS files are not
-! 			       counting  */
-  	return 1;
-  
-      if (vms_match_num == 0) {
-  	/* first time through, setup some things */
-  	if (NULL == vms_fmatch) {
---- 373,384 ----
-  vms_wproc(char *name, int val)
-  {
-      int i;
-      static int vms_match_alloced = 0;
-  
-!     if (val == DECC$K_FOREIGN ) /* foreign non VMS files are not counting */
-  	return 1;
-  
-+     /* accept all DECC$K_FILE and DECC$K_DIRECTORY */
-      if (vms_match_num == 0) {
-  	/* first time through, setup some things */
-  	if (NULL == vms_fmatch) {
-***************
-*** 383,394 ****
-  	}
-      }
-  
-      vms_remove_version(name);
-! 
-!     /* convert filename to lowercase */
-!     nlen = strlen(name);
-!     for (i = 0; i < nlen; i++)
-! 	name[i] = TOLOWER_ASC(name[i]);
-  
-      /* if name already exists, don't add it */
-      for (i = 0; i<vms_match_num; i++) {
---- 394,402 ----
-  	}
-      }
-  
-+     /* make matches look uniform */
-      vms_remove_version(name);
-!     name=vms_tolower(name);
-  
-      /* if name already exists, don't add it */
-      for (i = 0; i<vms_match_num; i++) {
-***************
-*** 428,433 ****
---- 436,442 ----
-  {
-      int		i, cnt = 0;
-      char_u	buf[MAXPATHL];
-+     char       *result;
-      int		dir;
-      int files_alloced, files_free;
-  
-***************
-*** 449,456 ****
-  	    STRCPY(buf,pat[i]);
-  
-  	vms_match_num = 0; /* reset collection counter */
-! 	cnt = decc$to_vms(decc$translate_vms(vms_fixfilename(buf)), vms_wproc, 1, 0);
-! 						      /* allow wild, no dir */
-  	if (cnt > 0)
-  	    cnt = vms_match_num;
-  
---- 458,470 ----
-  	    STRCPY(buf,pat[i]);
-  
-  	vms_match_num = 0; /* reset collection counter */
-! 	result = decc$translate_vms(vms_fixfilename(buf));
-! 	if ( (int) result == 0 || (int) result == -1  ) {
-! 	    cnt = 0;
-! 	}
-!         else {
-! 	    cnt = decc$to_vms(result, vms_wproc, 1 /*allow wild*/ , (flags & EW_DIR ? 0:1 ) /*allow directory*/) ;
-! 	}
-  	if (cnt > 0)
-  	    cnt = vms_match_num;
-  
-***************
-*** 497,506 ****
-  mch_expandpath(garray_T *gap, char_u *path, int flags)
-  {
-      int		i,cnt = 0;
-!     vms_match_num = 0;
-  
-!     cnt = decc$to_vms(decc$translate_vms(vms_fixfilename(path)), vms_wproc, 1, 0);
-! 						      /* allow wild, no dir */
-      if (cnt > 0)
-  	cnt = vms_match_num;
-      for (i = 0; i < cnt; i++)
---- 511,528 ----
-  mch_expandpath(garray_T *gap, char_u *path, int flags)
-  {
-      int		i,cnt = 0;
-!     char       *result;
-  
-!     vms_match_num = 0;
-!     /* the result from the decc$translate_vms needs to be handled */
-!     /* otherwise it might create ACCVIO error in decc$to_vms      */
-!     result = decc$translate_vms(vms_fixfilename(path));
-!     if ( (int) result == 0 || (int) result == -1  ) {
-!         cnt = 0;
-!     }
-!     else {
-!         cnt = decc$to_vms(result, vms_wproc, 1 /*allow_wild*/, (flags & EW_DIR ? 0:1 ) /*allow directory*/);
-!     }
-      if (cnt > 0)
-  	cnt = vms_match_num;
-      for (i = 0; i < cnt; i++)
-***************
-*** 521,526 ****
---- 543,549 ----
-      char *end_of_dir;
-      char ch;
-      int len;
-+     char *out_str=out;
-  
-      /* copy vms filename portion up to last colon
-       * (node and/or disk)
-***************
-*** 602,608 ****
-  	*end_of_dir = ']';
-  }
-  
-- 
-  /*
-   * for decc$to_vms in vms_fixfilename
-   */
---- 625,630 ----
-***************
-*** 710,735 ****
-      struct _generic_64 time_diff;
-      struct _generic_64 time_out;
-      unsigned int convert_operation = LIB$K_DELTA_SECONDS_F;
-!     float sec = (float) msec / 1000;
-  
-      /* make sure the iochan is set */
-      if (!iochan)
-  	get_tty();
-  
-!     if (msec > 0) {
-          /* time-out specified; convert it to absolute time */
-  
-          /* get current time (number of 100ns ticks since the VMS Epoch) */
-          status = sys$gettim(&time_curr);
-          if (status != SS$_NORMAL)
-              return 0; /* error */
-- 
-          /* construct the delta time */
-!         status = lib$cvtf_to_internal_time(
-                  &convert_operation, &sec, &time_diff);
-          if (status != LIB$_NORMAL)
-              return 0; /* error */
-- 
-          /* add them up */
-          status = lib$add_times(
-                  &time_curr,
---- 732,764 ----
-      struct _generic_64 time_diff;
-      struct _generic_64 time_out;
-      unsigned int convert_operation = LIB$K_DELTA_SECONDS_F;
-!     float sec =(float) msec/1000;
-  
-      /* make sure the iochan is set */
-      if (!iochan)
-  	get_tty();
-  
-!     if (sec > 0) {
-          /* time-out specified; convert it to absolute time */
-+ 	/* sec>0 requirement of lib$cvtf_to_internal_time()*/
-  
-          /* get current time (number of 100ns ticks since the VMS Epoch) */
-          status = sys$gettim(&time_curr);
-          if (status != SS$_NORMAL)
-              return 0; /* error */
-          /* construct the delta time */
-! #if __G_FLOAT==0
-! # ifndef VAX
-! 	/* IEEE is default on IA64, but can be used on Alpha too - but not on VAX */
-!         status = lib$cvts_to_internal_time(
-                  &convert_operation, &sec, &time_diff);
-+ # endif
-+ #else   /* default on Alpha and VAX  */
-+         status = lib$cvtf_to_internal_time(
-+ 		&convert_operation, &sec, &time_diff);
-+ #endif
-          if (status != LIB$_NORMAL)
-              return 0; /* error */
-          /* add them up */
-          status = lib$add_times(
-                  &time_curr,
-*** ../vim-7.4.196/src/os_vms_conf.h	2014-02-23 22:52:33.372764715 +0100
---- src/os_vms_conf.h	2014-03-12 15:55:50.204741288 +0100
-***************
-*** 166,173 ****
-  #undef  HAVE_SYS_TIME_H
-  #undef  HAVE_LOCALE_H
-  #define BROKEN_LOCALE
-- #undef  HAVE_ICONV_H
-- #undef  HAVE_ICONV
-  #undef  DYNAMIC_ICONV
-  #undef	HAVE_STRFTIME
-  #else
---- 166,171 ----
-***************
-*** 177,188 ****
-  #define HAVE_SYS_TIME_H
-  #define HAVE_LOCALE_H
-  #define BROKEN_LOCALE
-- #undef  HAVE_ICONV_H
-- #undef  HAVE_ICONV
-  #undef  DYNAMIC_ICONV
-  #define	HAVE_STRFTIME
-  #endif
-  
-  /* GUI support defines */
-  #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK)
-  #define HAVE_X11
---- 175,192 ----
-  #define HAVE_SYS_TIME_H
-  #define HAVE_LOCALE_H
-  #define BROKEN_LOCALE
-  #undef  DYNAMIC_ICONV
-  #define	HAVE_STRFTIME
-  #endif
-  
-+ #if defined(USE_ICONV)
-+ #define HAVE_ICONV_H
-+ #define HAVE_ICONV
-+ #else
-+ #undef HAVE_ICONV_H
-+ #undef HAVE_ICONV
-+ #endif
-+ 
-  /* GUI support defines */
-  #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK)
-  #define HAVE_X11
-*** ../vim-7.4.196/src/proto/os_vms.pro	2013-08-10 13:37:40.000000000 +0200
---- src/proto/os_vms.pro	2014-03-12 15:55:50.204741288 +0100
-***************
-*** 7,12 ****
---- 7,13 ----
-  int vms_sys __ARGS((char *cmd, char *out, char *inp));
-  int vms_sys_status __ARGS((int status));
-  int vms_read __ARGS((char *inbuf, size_t nbytes));
-+ char *vms_tolower __ARGS((char *name));
-  int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-  int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
-  void *vms_fixfilename __ARGS((void *instring));
-*** ../vim-7.4.196/src/testdir/Make_vms.mms	2014-02-23 23:38:58.812760280 +0100
---- src/testdir/Make_vms.mms	2014-03-12 16:06:22.888750982 +0100
-***************
-*** 4,10 ****
-  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
-  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
-  #
-! # Last change:  2014 Feb 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 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.
-***************
-*** 41,56 ****
-  # They fail because VMS does not support file names.
-  # WANT_SPELL = YES
-  
-! # Comment out if you want to run mzschema  tests.
-  # It fails because VMS does not support this feature yet.
-  # WANT_MZSCH = YES
-  
-  # Comment out if you have gzip on your system
-  # HAVE_GZIP = YES
-  
-  # Comment out if you have GNU compatible diff on your system
-  # HAVE_GDIFF = YES
-  
-  #######################################################################
-  # End of configuration section.
-  #
---- 41,71 ----
-  # They fail because VMS does not support file names.
-  # WANT_SPELL = YES
-  
-! # Comment out if you want to run mzschema tests.
-  # It fails because VMS does not support this feature yet.
-  # WANT_MZSCH = YES
-  
-+ # Comment out if you have ODS-5 file system                                                                                                                 
-+ # HAVE_ODS5 = YES
-+ 
-  # Comment out if you have gzip on your system
-  # HAVE_GZIP = YES
-  
-  # Comment out if you have GNU compatible diff on your system
-  # HAVE_GDIFF = YES
-  
-+ # Comment out if you have GNU compatible cksum on your system                                                                                                  
-+ # HAVE_CKSUM = YES
-+ 
-+ # Comment out if you have ICONV support                                                                                                  
-+ # HAVE_ICONV = YES
-+ 
-+ # Comment out if you have LUA support
-+ # HAVE_LUA = YES
-+ 
-+ # Comment out if you have PYTHON support
-+ # HAVE_PYTHON = YES
-+ 
-  #######################################################################
-  # End of configuration section.
-  #
-***************
-*** 63,99 ****
-  
-  SCRIPT = test1.out  test2.out  test3.out  test4.out  test5.out  \
-  	 test6.out  test7.out  test8.out  test9.out  test10a.out\
-! 	 test13.out test14.out test15.out test17.out \
-  	 test18.out test19.out test20.out test21.out test22.out \
-  	 test23.out test24.out test26.out \
-  	 test28.out test29.out test30.out test31.out test32.out \
-  	 test33.out test34.out test35.out test36.out test37.out \
-  	 test38.out test39.out test40.out test41.out test42.out \
-  	 test43.out test44.out test45.out test46.out \
-! 	 test48.out test51.out test53.out test54.out test55.out \
-! 	 test56.out test57.out test60.out \
-  	 test61.out test62.out test63.out test64.out test65.out \
-  	 test66.out test67.out test68.out test69.out \
-  	 test71.out test72.out test74.out test75.out test76.out \
-! 	 test77.out test78.out test79.out test80.out test81.out \
-! 	 test82.out test83.out test84.out test88.out 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
-  
-  # Known problems:
-! # Test 30: a problem around mac format - unknown reason
-  #
-! # Test 32: VMS is not case sensitive and all filenames are lowercase within Vim
-  # (this should be changed in order to preserve the original filename) - should
-  # be fixed. VMS allows just one dot in the filename
-  #
-! # Test 58 and 59: Failed/Hangs - VMS does not support spell files (file names
-  # with too many dots).
-  #
-! # Test 72: unknown reason
-! # Test 85: no Lua interface
-  
-  .IFDEF WANT_GUI
-  SCRIPT_GUI = test16.out
---- 78,121 ----
-  
-  SCRIPT = test1.out  test2.out  test3.out  test4.out  test5.out  \
-  	 test6.out  test7.out  test8.out  test9.out  test10a.out\
-! 	 test13.out test14.out test15.out \
-  	 test18.out test19.out test20.out test21.out test22.out \
-  	 test23.out test24.out test26.out \
-  	 test28.out test29.out test30.out test31.out test32.out \
-  	 test33.out test34.out test35.out test36.out test37.out \
-  	 test38.out test39.out test40.out test41.out test42.out \
-  	 test43.out test44.out test45.out test46.out \
-! 	 test48.out test49.out test51.out test53.out test54.out \
-! 	 test55.out test56.out test57.out test60.out \
-  	 test61.out test62.out test63.out test64.out test65.out \
-  	 test66.out test67.out test68.out test69.out \
-  	 test71.out test72.out test74.out test75.out test76.out \
-! 	 test77a.out test78.out test79.out test80.out test81.out \
-! 	 test82.out test84.out test88.out test89.out \
-  	 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
-  
-  # Known problems:
-! # test17: ?
-! #
-! # test30: bug, most probably - a problem around mac format
-  #
-! # test32: VMS is not case sensitive and all filenames are lowercase within Vim
-  # (this should be changed in order to preserve the original filename) - should
-  # be fixed. VMS allows just one dot in the filename
-  #
-! # test58, test59: Failed/Hangs - VMS does not support spell files (file names
-  # with too many dots).
-  #
-! # test72: bug - Vim hangs at :rename (while rename works well otherwise)
-! # test78: bug - Vim dies at :recover Xtest 
-! # test83: ?
-! # test85: no Lua interface
-! # test89: bug - findfile() does not work on VMS (just in the current directory) 
-! # test97, test102: Just ODS-5 supports space and special chars in the filename.
-! # On ODS-2 tests fail. 
-  
-  .IFDEF WANT_GUI
-  SCRIPT_GUI = test16.out
-***************
-*** 101,107 ****
-  .ENDIF
-  
-  .IFDEF WANT_UNIX
-! SCRIPT_UNIX = test10.out test12.out test25.out test27.out test49.out test73.out
-  .ENDIF
-  
-  .IFDEF WANT_WIN
---- 123,129 ----
-  .ENDIF
-  
-  .IFDEF WANT_UNIX
-! SCRIPT_UNIX = test10.out test12.out test17.out test25.out test27.out test49.out test73.out
-  .ENDIF
-  
-  .IFDEF WANT_WIN
-***************
-*** 116,121 ****
---- 138,147 ----
-  SCRIPT_MZSCH = test70.out 
-  .ENDIF
-  
-+ .IFDEF HAVE_ODS5                                                                                                                                   
-+ SCRIPT_ODS5 = test97.out test102.out                                                                                                   
-+ .ENDIF  
-+ 
-  .IFDEF HAVE_GZIP
-  SCRIPT_GZIP = test11.out
-  .ENDIF
-***************
-*** 124,133 ****
---- 150,177 ----
-  SCRIPT_GDIFF = test47.out
-  .ENDIF
-  
-+ .IFDEF HAVE_CKSUM
-+ SCRIPT_CKSUM = test77.out
-+ .ENDIF
-+ 
-+ .IFDEF HAVE_ICONV
-+ SCRIPT_ICONV = test83.out
-+ .ENDIF
-+ 
-+ .IFDEF HAVE_LUA
-+ SCRIPT_LUA = test85.out
-+ .ENDIF
-+ 
-+ .IFDEF HAVE_PYTHON
-+ SCRIPT_PYTHON = test86.out test87.out
-+ .ENDIF
-+ 
-  .in.out :
-  	-@ !clean up before doing the test
-  	-@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.*
-  	-@ if "''F$SEARCH("$*.out.*")'"   .NES. "" then delete/noconfirm/nolog $*.out.*
-+ 	-@ ! define TMP if not set - some tests use it
-+ 	-@ if "''F$TRNLNM("TMP")'" .EQS. "" then define/nolog TMP []
-  	-@ write sys$output " "
-  	-@ write sys$output "-----------------------------------------------"
-  	-@ write sys$output "                "$*" "
-***************
-*** 140,148 ****
-  	-@ if "''F$SEARCH("$*.out.*")'"   .NES. "" then differences /par $*.out $*.ok;
-  	-@ !clean up after the test
-  	-@ if "''F$SEARCH("Xdotest.*")'"  .NES. "" then delete/noconfirm/nolog Xdotest.*.*
-  
-! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_GZIP) \
-!     $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) nolog 
-  	-@ write sys$output " "
-  	-@ write sys$output "-----------------------------------------------"
-  	-@ write sys$output "                All done"
---- 184,193 ----
-  	-@ if "''F$SEARCH("$*.out.*")'"   .NES. "" then differences /par $*.out $*.ok;
-  	-@ !clean up after the test
-  	-@ if "''F$SEARCH("Xdotest.*")'"  .NES. "" then delete/noconfirm/nolog Xdotest.*.*
-+ 	-@ if "''F$SEARCH("Xtest.*")'"    .NES. "" then delete/noconfirm/nolog Xtest.*.*
-  
-! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
-!     $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog 
-  	-@ write sys$output " "
-  	-@ write sys$output "-----------------------------------------------"
-  	-@ write sys$output "                All done"
-***************
-*** 165,177 ****
-  	-@ write sys$output "                Test results:"
-  	-@ write sys$output "-----------------------------------------------"
-  	-@ write sys$output "MAKE_VMS.MMS options:"
-! 	-@ write sys$output "   WANT_GUI  = ""$(WANT_GUI)"" "
-! 	-@ write sys$output "   WANT_UNIX = ""$(WANT_UNIX)"" "
-! 	-@ write sys$output "   WANT_WIN  = ""$(WANT_WIN)"" "
-! 	-@ write sys$output "   WANT_SPELL= ""$(WANT_SPELL)"" "
-! 	-@ write sys$output "   WANT_MZSCH= ""$(WANT_MZSCH)"" "
-! 	-@ write sys$output "   HAVE_GZIP = ""$(HAVE_GZIP)"" "
-! 	-@ write sys$output "   HAVE_GDIFF= ""$(HAVE_GDIFF)"" "
-  	-@ write sys$output "Default vimrc file is VMS.VIM:"
-  	-@ write sys$output "-----------------------------------------------"
-  	-@ type VMS.VIM
---- 210,227 ----
-  	-@ write sys$output "                Test results:"
-  	-@ write sys$output "-----------------------------------------------"
-  	-@ write sys$output "MAKE_VMS.MMS options:"
-! 	-@ write sys$output "   WANT_GUI   = ""$(WANT_GUI)"" "
-! 	-@ write sys$output "   WANT_UNIX  = ""$(WANT_UNIX)"" "
-! 	-@ write sys$output "   WANT_WIN   = ""$(WANT_WIN)"" "
-! 	-@ write sys$output "   WANT_SPELL = ""$(WANT_SPELL)"" "
-! 	-@ write sys$output "   WANT_MZSCH = ""$(WANT_MZSCH)"" "
-! 	-@ write sys$output "   HAVE_ODS5  = ""$(HAVE_ODS5)"" "
-! 	-@ write sys$output "   HAVE_GZIP  = ""$(HAVE_GZIP)"" "
-! 	-@ write sys$output "   HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
-! 	-@ write sys$output "   HAVE_CKSUM = ""$(HAVE_CKSUM)"" "	  
-! 	-@ write sys$output "   HAVE_ICONV = ""$(HAVE_ICONV)"" "
-! 	-@ write sys$output "   HAVE_LUA   = ""$(HAVE_LUA)"" "
-! 	-@ write sys$output "   HAVE_PYTHON= ""$(HAVE_PYTHON)"" "
-  	-@ write sys$output "Default vimrc file is VMS.VIM:"
-  	-@ write sys$output "-----------------------------------------------"
-  	-@ type VMS.VIM
-***************
-*** 181,186 ****
---- 231,239 ----
-  	-@ if "''F$SEARCH("test.log")'"     .NES. "" then delete/noconfirm/nolog test.log.*
-  	-@ if "''F$SEARCH("test.ok")'"      .NES. "" then delete/noconfirm/nolog test.ok.*
-  	-@ if "''F$SEARCH("Xdotest.*")'"    .NES. "" then delete/noconfirm/nolog Xdotest.*.*
-+ 	-@ if "''F$SEARCH("Xtest*.*")'"     .NES. "" then delete/noconfirm/nolog Xtest*.*.*
-+ 	-@ if "''F$SEARCH("XX*.*")'"        .NES. "" then delete/noconfirm/nolog XX*.*.*
-+ 	-@ if "''F$SEARCH("_un_*.*")'"      .NES. "" then delete/noconfirm/nolog _un_*.*.*
-  	-@ if "''F$SEARCH("*.*_sw*")'"      .NES. "" then delete/noconfirm/nolog *.*_sw*.*
-  	-@ if "''F$SEARCH("*.failed")'"     .NES. "" then delete/noconfirm/nolog *.failed.*
-  	-@ if "''F$SEARCH("*.rej")'"        .NES. "" then delete/noconfirm/nolog *.rej.*
-***************
-*** 188,193 ****
-  	-@ if "''F$SEARCH("small.vim")'"    .NES. "" then delete/noconfirm/nolog small.vim.*
-  	-@ if "''F$SEARCH("mbyte.vim")'"    .NES. "" then delete/noconfirm/nolog mbyte.vim.*
-  	-@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.*
-! 	-@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.*
-  	-@ if "''F$SEARCH("viminfo.*")'"    .NES. "" then delete/noconfirm/nolog viminfo.*.*
-  
---- 241,246 ----
-  	-@ if "''F$SEARCH("small.vim")'"    .NES. "" then delete/noconfirm/nolog small.vim.*
-  	-@ if "''F$SEARCH("mbyte.vim")'"    .NES. "" then delete/noconfirm/nolog mbyte.vim.*
-  	-@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.*
-! 	-@ if "''F$SEARCH("lua.vim")'"      .NES. "" then delete/noconfirm/nolog lua.vim.*
-  	-@ if "''F$SEARCH("viminfo.*")'"    .NES. "" then delete/noconfirm/nolog viminfo.*.*
-  
-*** ../vim-7.4.196/src/testdir/test72.in	2012-01-04 19:04:17.000000000 +0100
---- src/testdir/test72.in	2014-03-12 15:55:50.204741288 +0100
-***************
-*** 105,111 ****
-  u:.w >>test.out
-  :"
-  :" Rename the undo file so that it gets cleaned up.
-! :call rename(".Xtestfile.un~", "Xtestundo")
-  :qa!
-  ENDTEST
-  
---- 105,115 ----
-  u:.w >>test.out
-  :"
-  :" Rename the undo file so that it gets cleaned up.
-! :if has("vms")
-! : call rename("_un_Xtestfile", "Xtestundo")
-! :else
-! : call rename(".Xtestfile.un~", "Xtestundo")
-! :endif
-  :qa!
-  ENDTEST
-  
-*** ../vim-7.4.196/src/testdir/test77a.com	2014-03-12 16:49:10.740790329 +0100
---- src/testdir/test77a.com	2014-03-12 16:40:04.316781957 +0100
-***************
-*** 0 ****
---- 1,8 ----
-+ $! test77a - help file creating checksum on VMS
-+ $! Created by Zoltan Arpadffy
-+ $
-+ $ IF P1 .NES. ""
-+ $ THEN
-+ $    checksum 'P1'
-+ $    show symb CHECKSUM$CHECKSUM
-+ $ ENDIF
-*** ../vim-7.4.196/src/testdir/test77a.in	2014-03-12 16:49:10.748790329 +0100
---- src/testdir/test77a.in	2014-03-12 15:55:50.204741288 +0100
-***************
-*** 0 ****
---- 1,31 ----
-+ Inserts 2 million lines with consecutive integers starting from 1
-+ (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
-+ and writes its cksum to test.out.
-+ 
-+ We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
-+ up the lines the checksum would differ.
-+ 
-+ cksum is part of POSIX and so should be available on most Unixes.
-+ If it isn't available then the test will be skipped.
-+ 
-+ VMS does not have CKSUM but has a built in CHECKSUM - it should be used
-+ STARTTEST
-+ :so small.vim
-+ :if !has("vms")
-+ : e! test.ok
-+ : w! test.out
-+ : qa!
-+ :endif
-+ :set fileformat=unix undolevels=-1
-+ ggdG
-+ :let i = 1
-+ :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
-+ ggdd
-+ :w! Xtest.
-+ :r !@test77a.com Xtest.
-+ :s/\s/ /g
-+ :set fileformat&
-+ :.w! test.out
-+ :qa!
-+ ENDTEST
-+ 
-*** ../vim-7.4.196/src/testdir/test77a.ok	2014-03-12 16:49:10.756790330 +0100
---- src/testdir/test77a.ok	2014-03-12 15:55:50.204741288 +0100
-***************
-*** 0 ****
---- 1 ----
-+   CHECKSUM$CHECKSUM = "844110470"
-*** ../vim-7.4.196/src/undo.c	2014-01-23 18:12:44.695676751 +0100
---- src/undo.c	2014-03-12 16:31:52.432774419 +0100
-***************
-*** 790,798 ****
---- 790,809 ----
-  	    if (undo_file_name == NULL)
-  		break;
-  	    p = gettail(undo_file_name);
-+ #ifdef VMS
-+ 	    /* VMS can not handle more than one dot in the filenames
-+ 	     * use "dir/name" -> "dir/_un_name" - add _un_
-+ 	     * at the beginning to keep the extension */
-+ 	    mch_memmove(p + 4,  p, STRLEN(p) + 1);
-+ 	    mch_memmove(p, "_un_", 4);
-+ 
-+ #else
-+ 	    /* Use same directory as the ffname,
-+ 	     * "dir/name" -> "dir/.name.un~" */
-  	    mch_memmove(p + 1, p, STRLEN(p) + 1);
-  	    *p = '.';
-  	    STRCAT(p, ".un~");
-+ #endif
-  	}
-  	else
-  	{
-*** ../vim-7.4.196/src/version.c	2014-03-12 15:50:18.472736205 +0100
---- src/version.c	2014-03-12 15:54:26.712740008 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     197,
-  /**/
-
--- 
-Violators can be fined, arrested or jailed for making ugly faces at a dog.
-		[real standing law in Oklahoma, 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    ///
diff --git a/7.4.198 b/7.4.198
deleted file mode 100644
index f204c2e..0000000
--- a/7.4.198
+++ /dev/null
@@ -1,103 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.198
-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.198
-Problem:    Can't build Vim with Perl when -Dusethreads is not specified for
-	    building Perl, and building Vim with --enable-perlinterp=dynamic.
-Solution:   Adjust #ifdefs. (Yasuhiro Matsumoto)
-Files:	    src/if_perl.xs
-
-
-*** ../vim-7.4.197/src/if_perl.xs	2013-12-14 11:50:28.000000000 +0100
---- src/if_perl.xs	2014-03-12 17:05:07.832804995 +0100
-***************
-*** 138,143 ****
---- 138,145 ----
-  #endif
-  typedef int XSINIT_t;
-  typedef int XSUBADDR_t;
-+ #endif
-+ #ifndef USE_ITHREADS
-  typedef int perl_key;
-  #endif
-  
-***************
-*** 264,270 ****
-  # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr
-  # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr
-  # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-! #  define PL_thr_key *dll_PL_thr_key
-  # endif
-  
-  /*
---- 266,274 ----
-  # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr
-  # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr
-  # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-! #  ifdef USE_ITHREADS
-! #   define PL_thr_key *dll_PL_thr_key
-! #  endif
-  # endif
-  
-  /*
-***************
-*** 386,392 ****
---- 390,398 ----
-  #endif
-  
-  #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-+ # ifdef USE_ITHREADS
-  static perl_key* dll_PL_thr_key;
-+ # endif
-  #else
-  static GV** (*Perl_Idefgv_ptr)(register PerlInterpreter*);
-  static GV** (*Perl_Ierrgv_ptr)(register PerlInterpreter*);
-***************
-*** 413,419 ****
---- 419,427 ----
-  #ifdef PERL5101_OR_LATER
-      {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
-  #endif
-+ #ifdef PERL_IMPLICIT_CONTEXT
-      {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
-+ #endif
-      {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray},
-      {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps},
-      {"Perl_gv_stashpv", (PERL_PROC*)&Perl_gv_stashpv},
-***************
-*** 505,511 ****
---- 513,521 ----
-  # endif
-  #endif
-  #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-+ #  ifdef USE_ITHREADS
-      {"PL_thr_key", (PERL_PROC*)&dll_PL_thr_key},
-+ #  endif
-  #else
-      {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr},
-      {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr},
-*** ../vim-7.4.197/src/version.c	2014-03-12 16:51:35.060792541 +0100
---- src/version.c	2014-03-12 17:06:27.660806218 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     198,
-  /**/
-
--- 
-Dogs must have a permit signed by the mayor in order to congregate in groups
-of three or more on private property.
-		[real standing law in Oklahoma, 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    ///
diff --git a/7.4.199 b/7.4.199
deleted file mode 100644
index d421df0..0000000
--- a/7.4.199
+++ /dev/null
@@ -1,106 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.199
-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.199
-Problem:    (issue 197) ]P doesn't paste over Visual selection.
-Solution:   Handle Visual mode specifically. (Christian Brabandt)
-Files:	    src/normal.c
-
-
-*** ../vim-7.4.198/src/normal.c	2014-02-23 23:38:58.824760280 +0100
---- src/normal.c	2014-03-12 17:33:28.184831049 +0100
-***************
-*** 6751,6760 ****
-      {
-  	if (!checkclearop(cap->oap))
-  	{
-  	    prep_redo_cmd(cap);
-! 	    do_put(cap->oap->regname,
-! 	      (cap->cmdchar == ']' && cap->nchar == 'p') ? FORWARD : BACKWARD,
-! 						  cap->count1, PUT_FIXINDENT);
-  	}
-      }
-  
---- 6751,6808 ----
-      {
-  	if (!checkclearop(cap->oap))
-  	{
-+ 	    int	    dir = (cap->cmdchar == ']' && cap->nchar == 'p')
-+ 							 ? FORWARD : BACKWARD;
-+ 	    int	    regname = cap->oap->regname;
-+ #ifdef FEAT_VISUAL
-+ 	    int	    was_visual = VIsual_active;
-+ 	    int	    line_count = curbuf->b_ml.ml_line_count;
-+ 	    pos_T   start, end;
-+ 
-+ 	    if (VIsual_active)
-+ 	    {
-+ 		start = ltoreq(VIsual, curwin->w_cursor)
-+ 						  ? VIsual : curwin->w_cursor;
-+ 		end =  equalpos(start,VIsual) ? curwin->w_cursor : VIsual;
-+ 		curwin->w_cursor = (dir == BACKWARD ? start : end);
-+ 	    }
-+ #endif
-+ # ifdef FEAT_CLIPBOARD
-+ 	    adjust_clip_reg(&regname);
-+ # endif
-  	    prep_redo_cmd(cap);
-! 
-! 	    do_put(regname, dir, cap->count1, PUT_FIXINDENT);
-! #ifdef FEAT_VISUAL
-! 	    if (was_visual)
-! 	    {
-! 		VIsual = start;
-! 		curwin->w_cursor = end;
-! 		if (dir == BACKWARD)
-! 		{
-! 		    /* adjust lines */
-! 		    VIsual.lnum += curbuf->b_ml.ml_line_count - line_count;
-! 		    curwin->w_cursor.lnum +=
-! 				      curbuf->b_ml.ml_line_count - line_count;
-! 		}
-! 
-! 		VIsual_active = TRUE;
-! 		if (VIsual_mode == 'V')
-! 		{
-! 		    /* delete visually selected lines */
-! 		    cap->cmdchar = 'd';
-! 		    cap->nchar = NUL;
-! 		    cap->oap->regname = regname;
-! 		    nv_operator(cap);
-! 		    do_pending_operator(cap, 0, FALSE);
-! 		}
-! 		if (VIsual_active)
-! 		{
-! 		    end_visual_mode();
-! 		    redraw_later(SOME_VALID);
-! 		}
-! 	    }
-! #endif
-  	}
-      }
-  
-*** ../vim-7.4.198/src/version.c	2014-03-12 17:08:01.508807656 +0100
---- src/version.c	2014-03-12 17:30:36.908828425 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     199,
-  /**/
-
--- 
-No man may purchase alcohol without written consent from his wife.
-		[real standing law in Pennsylvania, 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    ///
diff --git a/7.4.200 b/7.4.200
deleted file mode 100644
index be3dfb3..0000000
--- a/7.4.200
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.200
-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.200
-Problem:    Too many #ifdefs in the code.
-Solution:   Enable FEAT_VISUAL always, await any complaints
-Files:	    src/feature.h
-
-
-*** ../vim-7.4.199/src/feature.h	2014-02-23 22:52:33.372764715 +0100
---- src/feature.h	2014-03-12 17:48:24.396844782 +0100
-***************
-*** 211,228 ****
-  #endif
-  
-  /*
-!  * +visual		Visual mode.
-   * +visualextra		Extra features for Visual mode (mostly block operators).
-   */
-! #ifdef FEAT_SMALL
-! # define FEAT_VISUAL
-! # ifdef FEAT_NORMAL
-! #  define FEAT_VISUALEXTRA
-! # endif
-! #else
-! # ifdef FEAT_CLIPBOARD
-! #  undef FEAT_CLIPBOARD	/* can't use clipboard without Visual mode */
-! # endif
-  #endif
-  
-  /*
---- 211,222 ----
-  #endif
-  
-  /*
-!  * +visual		Visual mode - now always included.
-   * +visualextra		Extra features for Visual mode (mostly block operators).
-   */
-! #define FEAT_VISUAL
-! #ifdef FEAT_NORMAL
-! # define FEAT_VISUALEXTRA
-  #endif
-  
-  /*
-*** ../vim-7.4.199/src/version.c	2014-03-12 17:41:59.128838878 +0100
---- src/version.c	2014-03-12 17:52:28.080848516 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     200,
-  /**/
-
--- 
-It is illegal to take more than three sips of beer at a time while standing.
-		[real standing law in Texas, 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    ///
diff --git a/7.4.201 b/7.4.201
deleted file mode 100644
index 9bed2b5..0000000
--- a/7.4.201
+++ /dev/null
@@ -1,273 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.201
-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.201
-Problem:    'lispwords' is a global option.
-Solution:   Make 'lispwords' global-local. (Sung Pae)
-Files:	    runtime/doc/options.txt, runtime/optwin.vim, src/buffer.c,
-	    src/misc1.c, src/option.c, src/option.h, src/structs.h,
-	    src/testdir/test100.in, src/testdir/test100.ok
-
-
-*** ../vim-7.4.200/runtime/doc/options.txt	2014-02-23 23:38:58.820760280 +0100
---- runtime/doc/options.txt	2014-03-12 18:20:30.748874299 +0100
-***************
-*** 4629,4635 ****
-  
-  						*'lispwords'* *'lw'*
-  'lispwords' 'lw'	string	(default is very long)
-! 			global
-  			{not in Vi}
-  			{not available when compiled without the |+lispindent|
-  			feature}
---- 4629,4635 ----
-  
-  						*'lispwords'* *'lw'*
-  'lispwords' 'lw'	string	(default is very long)
-! 			global or local to buffer |global-local|
-  			{not in Vi}
-  			{not available when compiled without the |+lispindent|
-  			feature}
-*** ../vim-7.4.200/runtime/optwin.vim	2013-06-29 14:32:06.000000000 +0200
---- runtime/optwin.vim	2014-03-12 18:20:30.748874299 +0100
-***************
-*** 855,861 ****
-    call append("$", "\t(local to buffer)")
-    call <SID>BinOptionL("lisp")
-    call append("$", "lispwords\twords that change how lisp indenting works")
-!   call <SID>OptionG("lw", &lw)
-  endif
-  
-  
---- 855,861 ----
-    call append("$", "\t(local to buffer)")
-    call <SID>BinOptionL("lisp")
-    call append("$", "lispwords\twords that change how lisp indenting works")
-!   call <SID>OptionL("lw", &lw)
-  endif
-  
-  
-*** ../vim-7.4.200/src/buffer.c	2014-01-10 16:43:09.000000000 +0100
---- src/buffer.c	2014-03-12 18:20:30.752874299 +0100
-***************
-*** 1978,1983 ****
---- 1978,1986 ----
-  #endif
-      buf->b_p_ar = -1;
-      buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
-+ #ifdef FEAT_LISP
-+     clear_string_option(&buf->b_p_lw);
-+ #endif
-  }
-  
-  /*
-*** ../vim-7.4.200/src/misc1.c	2013-11-06 04:01:31.000000000 +0100
---- src/misc1.c	2014-03-12 18:20:30.752874299 +0100
-***************
-*** 8879,8885 ****
-  {
-      char_u	buf[LSIZE];
-      int		len;
-!     char_u	*word = p_lispwords;
-  
-      while (*word != NUL)
-      {
---- 8879,8885 ----
-  {
-      char_u	buf[LSIZE];
-      int		len;
-!     char_u	*word = *curbuf->b_p_lw != NUL ? curbuf->b_p_lw : p_lispwords;
-  
-      while (*word != NUL)
-      {
-*** ../vim-7.4.200/src/option.c	2014-01-14 16:54:53.000000000 +0100
---- src/option.c	2014-03-12 18:20:30.752874299 +0100
-***************
-*** 134,139 ****
---- 134,140 ----
-  #define PV_KP		OPT_BOTH(OPT_BUF(BV_KP))
-  #ifdef FEAT_LISP
-  # define PV_LISP	OPT_BUF(BV_LISP)
-+ # define PV_LW		OPT_BOTH(OPT_BUF(BV_LW))
-  #endif
-  #define PV_MA		OPT_BUF(BV_MA)
-  #define PV_ML		OPT_BUF(BV_ML)
-***************
-*** 1718,1724 ****
-  			    {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-      {"lispwords",   "lw",   P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
-  #ifdef FEAT_LISP
-! 			    (char_u *)&p_lispwords, PV_NONE,
-  			    {(char_u *)LISPWORD_VALUE, (char_u *)0L}
-  #else
-  			    (char_u *)NULL, PV_NONE,
---- 1719,1725 ----
-  			    {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-      {"lispwords",   "lw",   P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
-  #ifdef FEAT_LISP
-! 			    (char_u *)&p_lispwords, PV_LW,
-  			    {(char_u *)LISPWORD_VALUE, (char_u *)0L}
-  #else
-  			    (char_u *)NULL, PV_NONE,
-***************
-*** 5412,5417 ****
---- 5413,5421 ----
-      check_string_option(&buf->b_p_dict);
-      check_string_option(&buf->b_p_tsr);
-  #endif
-+ #ifdef FEAT_LISP
-+     check_string_option(&buf->b_p_lw);
-+ #endif
-  }
-  
-  /*
-***************
-*** 9879,9884 ****
---- 9883,9893 ----
-  	case PV_UL:
-  	    buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
-  	    break;
-+ #ifdef FEAT_LISP
-+ 	case PV_LW:
-+ 	    clear_string_option(&buf->b_p_lw);
-+ 	    break;
-+ #endif
-      }
-  }
-  
-***************
-*** 9928,9933 ****
---- 9937,9945 ----
-  	    case PV_STL:  return (char_u *)&(curwin->w_p_stl);
-  #endif
-  	    case PV_UL:   return (char_u *)&(curbuf->b_p_ul);
-+ #ifdef FEAT_LISP
-+ 	    case PV_LW:   return (char_u *)&(curbuf->b_p_lw);
-+ #endif
-  	}
-  	return NULL; /* "cannot happen" */
-      }
-***************
-*** 9994,9999 ****
---- 10006,10015 ----
-  #endif
-  	case PV_UL:	return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL
-  				    ? (char_u *)&(curbuf->b_p_ul) : p->var;
-+ #ifdef FEAT_LISP
-+ 	case PV_LW:	return *curbuf->b_p_lw != NUL
-+ 				    ? (char_u *)&(curbuf->b_p_lw) : p->var;
-+ #endif
-  
-  #ifdef FEAT_ARABIC
-  	case PV_ARAB:	return (char_u *)&(curwin->w_p_arab);
-***************
-*** 10567,10572 ****
---- 10583,10591 ----
-  #ifdef FEAT_PERSISTENT_UNDO
-  	    buf->b_p_udf = p_udf;
-  #endif
-+ #ifdef FEAT_LISP
-+ 	    buf->b_p_lw = empty_option;
-+ #endif
-  
-  	    /*
-  	     * Don't copy the options set by ex_help(), use the saved values,
-*** ../vim-7.4.200/src/option.h	2014-01-10 15:32:17.000000000 +0100
---- src/option.h	2014-03-12 18:20:30.752874299 +0100
-***************
-*** 990,995 ****
---- 990,996 ----
-      , BV_KP
-  #ifdef FEAT_LISP
-      , BV_LISP
-+     , BV_LW
-  #endif
-      , BV_MA
-      , BV_ML
-*** ../vim-7.4.200/src/structs.h	2014-02-23 22:52:33.372764715 +0100
---- src/structs.h	2014-03-12 18:20:30.752874299 +0100
-***************
-*** 1641,1646 ****
---- 1641,1649 ----
-  #ifdef FEAT_PERSISTENT_UNDO
-      int		b_p_udf;	/* 'undofile' */
-  #endif
-+ #ifdef FEAT_LISP
-+     char_u	*b_p_lw;	/* 'lispwords' local value */
-+ #endif
-  
-      /* end of buffer options */
-  
-*** ../vim-7.4.200/src/testdir/test100.in	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/test100.in	2014-03-12 18:25:27.792878851 +0100
-***************
-*** 1,4 ****
-! Tests for 'undolevel' setting being global-local
-  
-  STARTTEST
-  :so small.vim
---- 1,4 ----
-! Tests for 'undolevel' and 'lispwords' settings being global-local
-  
-  STARTTEST
-  :so small.vim
-***************
-*** 37,42 ****
---- 37,50 ----
-  :call UndoLevel()
-  :%w >> test.out
-  :"sleep 10
-+ :"
-+ :" Testing 'lispwords'
-+ :"
-+ :setglobal lispwords=foo,bar,baz
-+ :setlocal lispwords-=foo | setlocal lispwords+=quux
-+ :redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end
-+ :setlocal lispwords<
-+ :redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end
-  :qa!
-  ENDTEST
-  
-*** ../vim-7.4.200/src/testdir/test100.ok	2013-11-07 03:25:51.000000000 +0100
---- src/testdir/test100.ok	2014-03-12 18:25:27.792878851 +0100
-***************
-*** 39,41 ****
---- 39,51 ----
-  
-    undolevels=50 global
-    undolevels=-123456 local
-+ 
-+ Testing 'lispwords' local value
-+   lispwords=foo,bar,baz
-+   lispwords=bar,baz,quux
-+ bar,baz,quux
-+ 
-+ Testing 'lispwords' value reset
-+   lispwords=foo,bar,baz
-+   lispwords=foo,bar,baz
-+ foo,bar,baz
-*** ../vim-7.4.200/src/version.c	2014-03-12 17:56:42.960852421 +0100
---- src/version.c	2014-03-12 18:19:13.720873119 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     201,
-  /**/
-
--- 
-Lawmakers made it obligatory for everybody to take at least one bath
-each week -- on Saturday night.
-		[real standing law in Vermont, 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    ///
diff --git a/7.4.202 b/7.4.202
deleted file mode 100644
index 5c50d87..0000000
--- a/7.4.202
+++ /dev/null
@@ -1,281 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.202
-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.202
-Problem:    MS-Windows: non-ASCII font names don't work.
-Solution:   Convert between the current code page and 'encoding'. (Ken Takata)
-Files:	    src/gui_w48.c, src/os_mswin.c, src/proto/winclip.pro,
-	    src/winclip.c
-
-
-*** ../vim-7.4.201/src/gui_w48.c	2013-09-22 15:43:34.000000000 +0200
---- src/gui_w48.c	2014-03-12 19:18:14.264927370 +0100
-***************
-*** 3069,3083 ****
-      char	*p;
-      char	*res;
-      char	*charset_name;
-  
-      charset_name = charset_id2name((int)lf.lfCharSet);
-!     res = alloc((unsigned)(strlen(lf.lfFaceName) + 20
-  		    + (charset_name == NULL ? 0 : strlen(charset_name) + 2)));
-      if (res != NULL)
-      {
-  	p = res;
-  	/* make a normal font string out of the lf thing:*/
-! 	sprintf((char *)p, "%s:h%d", lf.lfFaceName, pixels_to_points(
-  			 lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE));
-  	while (*p)
-  	{
---- 3069,3094 ----
-      char	*p;
-      char	*res;
-      char	*charset_name;
-+     char	*font_name = lf.lfFaceName;
-  
-      charset_name = charset_id2name((int)lf.lfCharSet);
-! #ifdef FEAT_MBYTE
-!     /* Convert a font name from the current codepage to 'encoding'.
-!      * TODO: Use Wide APIs (including LOGFONTW) instead of ANSI APIs. */
-!     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-!     {
-! 	int	len;
-! 	acp_to_enc(lf.lfFaceName, strlen(lf.lfFaceName),
-! 						(char_u **)&font_name, &len);
-!     }
-! #endif
-!     res = alloc((unsigned)(strlen(font_name) + 20
-  		    + (charset_name == NULL ? 0 : strlen(charset_name) + 2)));
-      if (res != NULL)
-      {
-  	p = res;
-  	/* make a normal font string out of the lf thing:*/
-! 	sprintf((char *)p, "%s:h%d", font_name, pixels_to_points(
-  			 lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE));
-  	while (*p)
-  	{
-***************
-*** 3102,3107 ****
---- 3113,3122 ----
-  	}
-      }
-  
-+ #ifdef FEAT_MBYTE
-+     if (font_name != lf.lfFaceName)
-+ 	vim_free(font_name);
-+ #endif
-      return res;
-  }
-  
-*** ../vim-7.4.201/src/os_mswin.c	2014-02-11 17:05:57.278217857 +0100
---- src/os_mswin.c	2014-03-12 19:18:14.264927370 +0100
-***************
-*** 2867,2878 ****
---- 2867,2893 ----
-  {
-      char_u	*p;
-      int		i;
-+     int		ret = FAIL;
-      static LOGFONT *lastlf = NULL;
-+ #ifdef FEAT_MBYTE
-+     char_u	*acpname = NULL;
-+ #endif
-  
-      *lf = s_lfDefault;
-      if (name == NULL)
-  	return OK;
-  
-+ #ifdef FEAT_MBYTE
-+     /* Convert 'name' from 'encoding' to the current codepage, because
-+      * lf->lfFaceName uses the current codepage.
-+      * TODO: Use Wide APIs instead of ANSI APIs. */
-+     if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+     {
-+ 	int	len;
-+ 	enc_to_acp(name, strlen(name), &acpname, &len);
-+ 	name = acpname;
-+     }
-+ #endif
-      if (STRCMP(name, "*") == 0)
-      {
-  #if defined(FEAT_GUI_W32)
-***************
-*** 2887,2896 ****
-  	cf.lpLogFont = lf;
-  	cf.nFontType = 0 ; //REGULAR_FONTTYPE;
-  	if (ChooseFont(&cf))
-! 	    goto theend;
-! #else
-! 	return FAIL;
-  #endif
-      }
-  
-      /*
---- 2902,2910 ----
-  	cf.lpLogFont = lf;
-  	cf.nFontType = 0 ; //REGULAR_FONTTYPE;
-  	if (ChooseFont(&cf))
-! 	    ret = OK;
-  #endif
-+ 	goto theend;
-      }
-  
-      /*
-***************
-*** 2899,2905 ****
-      for (p = name; *p && *p != ':'; p++)
-      {
-  	if (p - name + 1 > LF_FACESIZE)
-! 	    return FAIL;			/* Name too long */
-  	lf->lfFaceName[p - name] = *p;
-      }
-      if (p != name)
---- 2913,2919 ----
-      for (p = name; *p && *p != ':'; p++)
-      {
-  	if (p - name + 1 > LF_FACESIZE)
-! 	    goto theend;			/* Name too long */
-  	lf->lfFaceName[p - name] = *p;
-      }
-      if (p != name)
-***************
-*** 2927,2933 ****
-  		did_replace = TRUE;
-  	    }
-  	if (!did_replace || init_logfont(lf) == FAIL)
-! 	    return FAIL;
-      }
-  
-      while (*p == ':')
---- 2941,2947 ----
-  		did_replace = TRUE;
-  	    }
-  	if (!did_replace || init_logfont(lf) == FAIL)
-! 	    goto theend;
-      }
-  
-      while (*p == ':')
-***************
-*** 2988,3012 ****
-  			    p[-1], name);
-  		    EMSG(IObuff);
-  		}
-! 		return FAIL;
-  	}
-  	while (*p == ':')
-  	    p++;
-      }
-  
-- #if defined(FEAT_GUI_W32)
-  theend:
-- #endif
-      /* ron: init lastlf */
-!     if (printer_dc == NULL)
-      {
-  	vim_free(lastlf);
-  	lastlf = (LOGFONT *)alloc(sizeof(LOGFONT));
-  	if (lastlf != NULL)
-  	    mch_memmove(lastlf, lf, sizeof(LOGFONT));
-      }
-  
-!     return OK;
-  }
-  
-  #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */
---- 3002,3028 ----
-  			    p[-1], name);
-  		    EMSG(IObuff);
-  		}
-! 		goto theend;
-  	}
-  	while (*p == ':')
-  	    p++;
-      }
-+     ret = OK;
-  
-  theend:
-      /* ron: init lastlf */
-!     if (ret == OK && printer_dc == NULL)
-      {
-  	vim_free(lastlf);
-  	lastlf = (LOGFONT *)alloc(sizeof(LOGFONT));
-  	if (lastlf != NULL)
-  	    mch_memmove(lastlf, lf, sizeof(LOGFONT));
-      }
-+ #ifdef FEAT_MBYTE
-+     vim_free(acpname);
-+ #endif
-  
-!     return ret;
-  }
-  
-  #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */
-*** ../vim-7.4.201/src/proto/winclip.pro	2013-08-10 13:37:39.000000000 +0200
---- src/proto/winclip.pro	2014-03-12 19:18:14.264927370 +0100
-***************
-*** 11,14 ****
---- 11,15 ----
-  short_u *enc_to_utf16 __ARGS((char_u *str, int *lenp));
-  char_u *utf16_to_enc __ARGS((short_u *str, int *lenp));
-  void acp_to_enc __ARGS((char_u *str, int str_size, char_u **out, int *outlen));
-+ void enc_to_acp __ARGS((char_u *str, int str_size, char_u **out, int *outlen));
-  /* vim: set ft=c : */
-*** ../vim-7.4.201/src/winclip.c	2013-07-01 21:05:53.000000000 +0200
---- src/winclip.c	2014-03-12 19:18:14.264927370 +0100
-***************
-*** 797,800 ****
---- 797,825 ----
-  	vim_free(widestr);
-      }
-  }
-+ 
-+ /*
-+  * Convert from 'encoding' to the active codepage.
-+  * Input is "str[str_size]".
-+  * The result is in allocated memory: "out[outlen]".  With terminating NUL.
-+  */
-+     void
-+ enc_to_acp(str, str_size, out, outlen)
-+     char_u	*str;
-+     int		str_size;
-+     char_u	**out;
-+     int		*outlen;
-+ 
-+ {
-+     LPWSTR	widestr;
-+     int		len = str_size;
-+ 
-+     widestr = (WCHAR *)enc_to_utf16(str, &len);
-+     if (widestr != NULL)
-+     {
-+ 	WideCharToMultiByte_alloc(GetACP(), 0, widestr, len,
-+ 						(LPSTR *)out, outlen, 0, 0);
-+ 	vim_free(widestr);
-+     }
-+ }
-  #endif
-*** ../vim-7.4.201/src/version.c	2014-03-12 18:55:52.104906804 +0100
---- src/version.c	2014-03-12 19:19:01.388928092 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     202,
-  /**/
-
--- 
-<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    ///
diff --git a/7.4.203 b/7.4.203
deleted file mode 100644
index d5cb84a..0000000
--- a/7.4.203
+++ /dev/null
@@ -1,203 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.203
-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.203
-Problem:    Parsing 'errorformat' is not correct.
-Solution:   Reset "multiignore" at the start of a multi-line message. (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/test106.in,
-	    src/testdir/test106.ok
-
-
-*** ../vim-7.4.202/src/quickfix.c	2013-07-01 21:16:44.000000000 +0200
---- src/quickfix.c	2014-03-12 19:35:22.016943118 +0100
-***************
-*** 751,757 ****
---- 751,760 ----
-  		fmt_start = fmt_ptr;
-  
-  	    if (vim_strchr((char_u *)"AEWI", idx) != NULL)
-+ 	    {
-  		multiline = TRUE;	/* start of a multi-line message */
-+ 		multiignore = FALSE;	/* reset continuation */
-+ 	    }
-  	    else if (vim_strchr((char_u *)"CZ", idx) != NULL)
-  	    {				/* continuation of multi-line msg */
-  		if (qfprev == NULL)
-*** ../vim-7.4.202/src/testdir/Make_amiga.mak	2014-02-23 23:38:58.808760280 +0100
---- src/testdir/Make_amiga.mak	2014-03-12 19:32:32.192940516 +0100
-***************
-*** 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
-  
-  .SUFFIXES: .in .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
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 157,159 ****
---- 157,160 ----
-  test103.out: test103.in
-  test104.out: test104.in
-  test105.out: test105.in
-+ test106.out: test106.in
-*** ../vim-7.4.202/src/testdir/Make_dos.mak	2014-02-23 23:38:58.808760280 +0100
---- src/testdir/Make_dos.mak	2014-03-12 19:32:40.100940637 +0100
-***************
-*** 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
-  
-  SCRIPTS32 =	test50.out test70.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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.202/src/testdir/Make_ming.mak	2014-02-23 23:38:58.812760280 +0100
---- src/testdir/Make_ming.mak	2014-03-12 19:32:44.948940712 +0100
-***************
-*** 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
-  
-  SCRIPTS32 =	test50.out test70.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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.202/src/testdir/Make_os2.mak	2014-02-23 23:38:58.812760280 +0100
---- src/testdir/Make_os2.mak	2014-03-12 19:32:48.112940760 +0100
-***************
-*** 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
-  
-  .SUFFIXES: .in .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
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.202/src/testdir/Make_vms.mms	2014-03-12 16:51:35.060792541 +0100
---- src/testdir/Make_vms.mms	2014-03-12 19:32:51.836940817 +0100
-***************
-*** 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
-  
-  # Known problems:
-  # test17: ?
---- 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
-  
-  # Known problems:
-  # test17: ?
-*** ../vim-7.4.202/src/testdir/Makefile	2014-03-12 15:50:18.472736205 +0100
---- src/testdir/Makefile	2014-03-12 19:32:13.884940236 +0100
-***************
-*** 31,37 ****
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
---- 31,37 ----
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
-*** ../vim-7.4.202/src/testdir/test106.in	2014-03-12 19:40:59.584948291 +0100
---- src/testdir/test106.in	2014-03-12 19:33:30.332941407 +0100
-***************
-*** 0 ****
---- 1,16 ----
-+ Tests for errorformat.  vim: set ft=vim ts=8 :
-+ 
-+ STARTTEST
-+ :so small.vim
-+ :if !has('quickfix') | e! test.ok | wq! test.out | endif
-+ :set efm=%EEEE%m,%WWWW%m,%+CCCC%.%#,%-GGGG%.%#
-+ :cgetexpr ['WWWW', 'EEEE', 'CCCC']
-+ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
-+ :cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC']
-+ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
-+ :cgetexpr ['WWWW', 'GGGG', 'ZZZZ', 'EEEE', 'CCCC', 'YYYY']
-+ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
-+ :/^Results/,$wq! test.out
-+ ENDTEST
-+ 
-+ Results of test106:
-*** ../vim-7.4.202/src/testdir/test106.ok	2014-03-12 19:40:59.592948291 +0100
---- src/testdir/test106.ok	2014-03-12 19:33:50.496941716 +0100
-***************
-*** 0 ****
---- 1,4 ----
-+ Results of test106:
-+ [['W', 1], ['E^@CCCC', 1]]
-+ [['W', 1], ['E^@CCCC', 1]]
-+ [['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]]
-*** ../vim-7.4.202/src/version.c	2014-03-12 19:24:32.508933166 +0100
---- src/version.c	2014-03-12 19:39:34.344946985 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     203,
-  /**/
-
--- 
-"I know that there are people who don't love their fellow man,
-and I hate those people!" - Tom Lehrer
-
- /// 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    ///
diff --git a/7.4.204 b/7.4.204
deleted file mode 100644
index c6b491e..0000000
--- a/7.4.204
+++ /dev/null
@@ -1,113 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.204
-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.204
-Problem:    A mapping where the second byte is 0x80 doesn't work.
-Solution:   Unescape before checking for incomplete multi-byte char. (Nobuhiro
-	    Takasaki)
-Files:	    src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok
-
-
-*** ../vim-7.4.203/src/getchar.c	2014-02-15 16:17:02.213903042 +0100
---- src/getchar.c	2014-03-12 20:06:17.944971557 +0100
-***************
-*** 2206,2215 ****
-  #ifdef FEAT_MBYTE
-  				/* Don't allow mapping the first byte(s) of a
-  				 * multi-byte char.  Happens when mapping
-! 				 * <M-a> and then changing 'encoding'. */
-! 				if (has_mbyte && MB_BYTE2LEN(c1)
-! 						  > (*mb_ptr2len)(mp->m_keys))
-! 				    mlen = 0;
-  #endif
-  				/*
-  				 * Check an entry whether it matches.
---- 2206,2221 ----
-  #ifdef FEAT_MBYTE
-  				/* Don't allow mapping the first byte(s) of a
-  				 * multi-byte char.  Happens when mapping
-! 				 * <M-a> and then changing 'encoding'. Beware
-! 				 * that 0x80 is escaped. */
-! 				{
-! 				    char_u *p1 = mp->m_keys;
-! 				    char_u *p2 = mb_unescape(&p1);
-! 
-! 				    if (has_mbyte && p2 != NULL
-! 					  && MB_BYTE2LEN(c1) > MB_PTR2LEN(p2))
-! 					mlen = 0;
-! 				}
-  #endif
-  				/*
-  				 * Check an entry whether it matches.
-*** ../vim-7.4.203/src/testdir/test75.in	2013-11-02 04:19:10.000000000 +0100
---- src/testdir/test75.in	2014-03-12 20:02:45.932968308 +0100
-***************
-*** 1,8 ****
---- 1,11 ----
-  Tests for maparg().
-+ Also test utf8 map with a 0x80 byte.
-  
-  STARTTEST
-  :so small.vim
-+ :so mbyte.vim
-  :set cpo-=<
-+ :set encoding=utf8
-  :" Test maparg() with a string result
-  :map foo<C-V> is<F4>foo
-  :vnoremap <script> <buffer> <expr> <silent> bar isbar
-***************
-*** 17,22 ****
---- 20,39 ----
-  :map abc y<S-char-114>y
-  :call append('$', maparg('abc'))
-  :"
-+ Go:"
-+ :" Outside of the range, minimum
-+ :inoremap <Char-0x1040> a
-+ :call feedkeys("a\u1040\<Esc>")
-+ :" Inside of the range, minimum
-+ :inoremap <Char-0x103f> b
-+ :call feedkeys("a\u103f\<Esc>")
-+ :" Inside of the range, maximum
-+ :inoremap <Char-0xf03f> c
-+ :call feedkeys("a\uf03f\<Esc>")
-+ :" Outside of the range, maximum
-+ :inoremap <Char-0xf040> d
-+ :call feedkeys("a\uf040\<Esc>")
-+ :"
-  :/^eof/+1,$w! test.out
-  :qa!
-  ENDTEST
-*** ../vim-7.4.203/src/testdir/test75.ok	2013-06-29 13:50:08.000000000 +0200
---- src/testdir/test75.ok	2014-03-12 20:02:49.780968367 +0100
-***************
-*** 4,6 ****
---- 4,7 ----
-  {'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, 'sid': 0, 'rhs': 'bar', 'buffer': 1}
-  xrx
-  yRy
-+ abcd
-*** ../vim-7.4.203/src/version.c	2014-03-12 19:41:37.100948866 +0100
---- src/version.c	2014-03-12 20:06:43.684971951 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     204,
-  /**/
-
--- 
-If you only have a hammer, you tend to see every problem as a nail.
-If you only have MS-Windows, you tend to solve every problem by rebooting.
-
- /// 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    ///
diff --git a/7.4.205 b/7.4.205
deleted file mode 100644
index 1f4fcf4..0000000
--- a/7.4.205
+++ /dev/null
@@ -1,113 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.205
-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.205
-Problem:    ":mksession" writes command to move to second argument while it
-	    does not exist.  When it does exist the order might be wrong.
-Solution:   Use ":argadd" for each argument instead of using ":args" with a
-	    list of names. (Nobuhiro Takasaki)
-Files:	    src/ex_docmd.c
-
-
-*** ../vim-7.4.204/src/ex_docmd.c	2014-02-05 22:46:49.058587842 +0100
---- src/ex_docmd.c	2014-03-12 21:08:35.361028825 +0100
-***************
-*** 10381,10387 ****
-      }
-  
-      /* the global argument list */
-!     if (ses_arglist(fd, "args", &global_alist.al_ga,
-  			    !(ssop_flags & SSOP_CURDIR), &ssop_flags) == FAIL)
-  	return FAIL;
-  
---- 10381,10387 ----
-      }
-  
-      /* the global argument list */
-!     if (ses_arglist(fd, "argglobal", &global_alist.al_ga,
-  			    !(ssop_flags & SSOP_CURDIR), &ssop_flags) == FAIL)
-  	return FAIL;
-  
-***************
-*** 10955,10963 ****
-      char_u	*buf = NULL;
-      char_u	*s;
-  
-!     if (gap->ga_len == 0)
-! 	return put_line(fd, "silent! argdel *");
-!     if (fputs(cmd, fd) < 0)
-  	return FAIL;
-      for (i = 0; i < gap->ga_len; ++i)
-      {
---- 10955,10963 ----
-      char_u	*buf = NULL;
-      char_u	*s;
-  
-!     if (fputs(cmd, fd) < 0 || put_eol(fd) == FAIL)
-! 	return FAIL;
-!     if (put_line(fd, "silent! argdel *") == FAIL)
-  	return FAIL;
-      for (i = 0; i < gap->ga_len; ++i)
-      {
-***************
-*** 10974,10980 ****
-  		    s = buf;
-  		}
-  	    }
-! 	    if (fputs(" ", fd) < 0 || ses_put_fname(fd, s, flagp) == FAIL)
-  	    {
-  		vim_free(buf);
-  		return FAIL;
---- 10974,10982 ----
-  		    s = buf;
-  		}
-  	    }
-! 	    if (fputs("argadd ", fd) < 0
-! 		    || ses_put_fname(fd, s, flagp) == FAIL
-! 		    || put_eol(fd) == FAIL)
-  	    {
-  		vim_free(buf);
-  		return FAIL;
-***************
-*** 10982,10988 ****
-  	    vim_free(buf);
-  	}
-      }
-!     return put_eol(fd);
-  }
-  
-  /*
---- 10984,10990 ----
-  	    vim_free(buf);
-  	}
-      }
-!     return OK;
-  }
-  
-  /*
-*** ../vim-7.4.204/src/version.c	2014-03-12 20:17:47.752982126 +0100
---- src/version.c	2014-03-12 21:09:16.273029451 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     205,
-  /**/
-
--- 
-A law to reduce crime states: "It is mandatory for a motorist with criminal
-intentions to stop at the city limits and telephone the chief of police as he
-is entering the town.
-		[real standing law in Washington, 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    ///
diff --git a/7.4.206 b/7.4.206
deleted file mode 100644
index d251135..0000000
--- a/7.4.206
+++ /dev/null
@@ -1,72 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.206
-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.206
-Problem:    Compiler warnings on 64 bit Windows.
-Solution:   Add type casts. (Mike Williams)
-Files:	    src/gui_w48.c, src/os_mswin.c
-
-
-*** ../vim-7.4.205/src/gui_w48.c	2014-03-12 19:24:32.504933166 +0100
---- src/gui_w48.c	2014-03-19 12:32:15.129821412 +0100
-***************
-*** 3078,3084 ****
-      if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-      {
-  	int	len;
-! 	acp_to_enc(lf.lfFaceName, strlen(lf.lfFaceName),
-  						(char_u **)&font_name, &len);
-      }
-  #endif
---- 3078,3084 ----
-      if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-      {
-  	int	len;
-! 	acp_to_enc(lf.lfFaceName, (int)strlen(lf.lfFaceName),
-  						(char_u **)&font_name, &len);
-      }
-  #endif
-*** ../vim-7.4.205/src/os_mswin.c	2014-03-12 19:24:32.504933166 +0100
---- src/os_mswin.c	2014-03-19 12:32:15.129821412 +0100
-***************
-*** 2884,2890 ****
-      if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-      {
-  	int	len;
-! 	enc_to_acp(name, strlen(name), &acpname, &len);
-  	name = acpname;
-      }
-  #endif
---- 2884,2890 ----
-      if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-      {
-  	int	len;
-! 	enc_to_acp(name, (int)strlen(name), &acpname, &len);
-  	name = acpname;
-      }
-  #endif
-*** ../vim-7.4.205/src/version.c	2014-03-12 21:28:09.485046816 +0100
---- src/version.c	2014-03-19 12:33:16.253822349 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     206,
-  /**/
-
--- 
-We apologise again for the fault in the subtitles.  Those responsible for
-sacking the people who have just been sacked have been sacked.
-                 "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    ///
diff --git a/7.4.207 b/7.4.207
deleted file mode 100644
index 895aa72..0000000
--- a/7.4.207
+++ /dev/null
@@ -1,176 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.207
-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.207
-Problem:    The cursor report sequence is sometimes not recognized and results
-	    in entering replace mode.
-Solution:   Also check for the cursor report when not asked for.
-Files:	    src/term.c
-
-
-*** ../vim-7.4.206/src/term.c	2013-09-29 16:27:42.000000000 +0200
---- src/term.c	2014-03-19 13:30:23.589874866 +0100
-***************
-*** 3379,3385 ****
-  	 out_str(buf);
-  	 out_str(T_U7);
-  	 u7_status = U7_SENT;
-! 	 term_windgoto(0, 0);
-  	 out_str((char_u *)"  ");
-  	 term_windgoto(0, 0);
-  	 /* check for the characters now, otherwise they might be eaten by
---- 3379,3386 ----
-  	 out_str(buf);
-  	 out_str(T_U7);
-  	 u7_status = U7_SENT;
-! 	 out_flush();
-! 	 term_windgoto(1, 0);
-  	 out_str((char_u *)"  ");
-  	 term_windgoto(0, 0);
-  	 /* check for the characters now, otherwise they might be eaten by
-***************
-*** 4185,4208 ****
-  			    || (tp[0] == CSI && len >= 2))
-  			&& (VIM_ISDIGIT(*p) || *p == '>' || *p == '?'))
-  	    {
-  		j = 0;
-  		extra = 0;
-  		for (i = 2 + (tp[0] != CSI); i < len
-  				&& !(tp[i] >= '{' && tp[i] <= '~')
-  				&& !ASCII_ISALPHA(tp[i]); ++i)
-  		    if (tp[i] == ';' && ++j == 1)
-  			extra = i + 1;
-  		if (i == len)
-  		{
-  		    LOG_TR("Not enough characters for CRV");
-  		    return -1;
-  		}
-- 
-  #ifdef FEAT_MBYTE
-! 		/* Eat it when it has 2 arguments and ends in 'R'. Ignore it
-! 		 * when u7_status is not "sent", <S-F3> sends something
-! 		 * similar. */
-! 		if (j == 1 && tp[i] == 'R' && u7_status == U7_SENT)
-  		{
-  		    char *aw = NULL;
-  
---- 4186,4223 ----
-  			    || (tp[0] == CSI && len >= 2))
-  			&& (VIM_ISDIGIT(*p) || *p == '>' || *p == '?'))
-  	    {
-+ #ifdef FEAT_MBYTE
-+ 		int col;
-+ 		int row_char;
-+ #endif
-  		j = 0;
-  		extra = 0;
-  		for (i = 2 + (tp[0] != CSI); i < len
-  				&& !(tp[i] >= '{' && tp[i] <= '~')
-  				&& !ASCII_ISALPHA(tp[i]); ++i)
-  		    if (tp[i] == ';' && ++j == 1)
-+ 		    {
-  			extra = i + 1;
-+ #ifdef FEAT_MBYTE
-+ 			row_char = tp[i - 1];
-+ #endif
-+ 		    }
-  		if (i == len)
-  		{
-  		    LOG_TR("Not enough characters for CRV");
-  		    return -1;
-  		}
-  #ifdef FEAT_MBYTE
-! 		if (extra > 0)
-! 		    col = atoi((char *)tp + extra);
-! 		else
-! 		    col = 0;
-! 
-! 		/* Eat it when it has 2 arguments and ends in 'R'. Also when
-! 		 * 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;
-  
-***************
-*** 4211,4228 ****
-  # ifdef FEAT_AUTOCMD
-  		    did_cursorhold = TRUE;
-  # endif
-! 		    if (extra > 0)
-! 			extra = atoi((char *)tp + extra);
-! 		    if (extra == 2)
-  			aw = "single";
-! 		    else if (extra == 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);
---- 4226,4241 ----
-  # 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);
-***************
-*** 4231,4239 ****
-  									   r);
-  			    log_tr(buf);
-  			}
-! #else
-  			redraw_asap(CLEAR);
-! #endif
-  		    }
-  		    key_name[0] = (int)KS_EXTRA;
-  		    key_name[1] = (int)KE_IGNORE;
---- 4244,4252 ----
-  									   r);
-  			    log_tr(buf);
-  			}
-! # else
-  			redraw_asap(CLEAR);
-! # endif
-  		    }
-  		    key_name[0] = (int)KS_EXTRA;
-  		    key_name[1] = (int)KE_IGNORE;
-*** ../vim-7.4.206/src/version.c	2014-03-19 12:37:18.537826062 +0100
---- src/version.c	2014-03-19 12:55:42.249842974 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     207,
-  /**/
-
--- 
-How come wrong numbers are never busy?
-
- /// 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    ///
diff --git a/7.4.208 b/7.4.208
deleted file mode 100644
index 353688f..0000000
--- a/7.4.208
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.208
-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.208
-Problem:    Mercurial picks up some files that are not distributed.
-Solution:   Add patterns to the ignore list. (Cade Forester)
-Files:	    .hgignore
-
-
-*** ../vim-7.4.207/.hgignore	2014-03-19 17:32:15.098097224 +0100
---- .hgignore	2014-03-19 17:30:05.998095246 +0100
-***************
-*** 47,52 ****
---- 47,55 ----
-  *.map
-  *.tds
-  
-+ # NetBeans
-+ nbproject/*
-+ 
-  # Mac OSX
-  src/xxd/xxd.dSYM
-  
-***************
-*** 57,62 ****
---- 60,66 ----
-  *.swp
-  *~
-  *.pyc
-+ *.log
-  src/po/vim.pot
-  
-  # Generated by "make test"
-*** ../vim-7.4.207/src/version.c	2014-03-19 14:01:53.153903819 +0100
---- src/version.c	2014-03-19 17:28:04.890093390 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     208,
-  /**/
-
--- 
-It might look like I'm doing nothing, but at the cellular level
-I'm really quite busy.
-
- /// 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    ///
diff --git a/7.4.209 b/7.4.209
deleted file mode 100644
index 9791716..0000000
--- a/7.4.209
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.209
-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.209
-Problem:    When repeating a filter command "%" and "#" are expanded.
-Solution:   Escape the command when storing for redo. (Christian Brabandt)
-Files:	    src/ex_cmds.c
-
-
-*** ../vim-7.4.208/src/ex_cmds.c	2014-02-22 22:27:20.768904692 +0100
---- src/ex_cmds.c	2014-03-19 17:40:01.138104365 +0100
-***************
-*** 1012,1018 ****
-  
-      if (bangredo)	    /* put cmd in redo buffer for ! command */
-      {
-! 	AppendToRedobuffLit(prevcmd, -1);
-  	AppendToRedobuff((char_u *)"\n");
-  	bangredo = FALSE;
-      }
---- 1012,1029 ----
-  
-      if (bangredo)	    /* put cmd in redo buffer for ! command */
-      {
-! 	/* If % or # appears in the command, it must have been escaped.
-! 	 * Reescape them, so that redoing them does not substitute them by the
-! 	 * buffername. */
-! 	char_u *cmd = vim_strsave_escaped(prevcmd, (char_u *)"%#");
-! 
-! 	if (cmd != NULL)
-! 	{
-! 	    AppendToRedobuffLit(cmd, -1);
-! 	    vim_free(cmd);
-! 	}
-! 	else
-! 	    AppendToRedobuffLit(prevcmd, -1);
-  	AppendToRedobuff((char_u *)"\n");
-  	bangredo = FALSE;
-      }
-*** ../vim-7.4.208/src/version.c	2014-03-19 17:32:32.454097490 +0100
---- src/version.c	2014-03-19 17:40:24.810104728 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     209,
-  /**/
-
--- 
-System administrators are just like women: You can't live with them and you
-can't live without them.
-
- /// 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    ///
diff --git a/7.4.210 b/7.4.210
deleted file mode 100644
index a96431c..0000000
--- a/7.4.210
+++ /dev/null
@@ -1,133 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.210
-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.210
-Problem:    Visual block mode plus virtual edit doesn't work well with tabs.
-	    (Liang Li) 
-Solution:   Take coladd into account. (Christian Brabandt)
-Files:	    src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
-
-
-*** ../vim-7.4.209/src/ops.c	2014-02-22 23:03:48.716901208 +0100
---- src/ops.c	2014-03-19 18:33:54.118153904 +0100
-***************
-*** 2646,2652 ****
-  	if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX)
-  	{
-  	    if (oap->op_type == OP_INSERT
-! 		    && oap->start.col != curbuf->b_op_start_orig.col)
-  	    {
-  		oap->start.col = curbuf->b_op_start_orig.col;
-  		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
---- 2646,2660 ----
-  	if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX)
-  	{
-  	    if (oap->op_type == OP_INSERT
-! 		    && oap->start.col
-! #ifdef FEAT_VIRTUALEDIT
-! 			    + oap->start.coladd
-! #endif
-! 			!= curbuf->b_op_start_orig.col
-! #ifdef FEAT_VIRTUALEDIT
-! 			    + curbuf->b_op_start_orig.coladd
-! #endif
-! 			)
-  	    {
-  		oap->start.col = curbuf->b_op_start_orig.col;
-  		pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
-***************
-*** 2654,2660 ****
-  		oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
-  	    }
-  	    else if (oap->op_type == OP_APPEND
-! 		    && oap->end.col >= curbuf->b_op_start_orig.col)
-  	    {
-  		oap->start.col = curbuf->b_op_start_orig.col;
-  		/* reset pre_textlen to the value of OP_INSERT */
---- 2662,2676 ----
-  		oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
-  	    }
-  	    else if (oap->op_type == OP_APPEND
-! 		      && oap->end.col
-! #ifdef FEAT_VIRTUALEDIT
-! 			    + oap->end.coladd
-! #endif
-! 			>= curbuf->b_op_start_orig.col
-! #ifdef FEAT_VIRTUALEDIT
-! 			    + curbuf->b_op_start_orig.coladd
-! #endif
-! 			)
-  	    {
-  		oap->start.col = curbuf->b_op_start_orig.col;
-  		/* reset pre_textlen to the value of OP_INSERT */
-*** ../vim-7.4.209/src/testdir/test39.in	2014-01-14 13:18:53.000000000 +0100
---- src/testdir/test39.in	2014-03-19 18:35:31.382155394 +0100
-***************
-*** 35,40 ****
---- 35,46 ----
-  /^C23$/
-  :exe ":norm! l\<C-V>j$hhAab\<Esc>"
-  :.,/^$/w >> test.out
-+ :" Test for Visual block insert when virtualedit=all
-+ :set ve=all
-+ :/\t\tline
-+ :exe ":norm! 07l\<C-V>jjIx\<Esc>"
-+ :set ve=
-+ :.,/^$/w >> test.out
-  :" gUe must uppercase a whole word, also when � changes to SS
-  Gothe youtu�euu endYpk0wgUe
-  :" gUfx must uppercase until x, inclusive.
-***************
-*** 62,67 ****
---- 68,77 ----
-  :qa!
-  ENDTEST
-  
-+ 		line1
-+ 		line2
-+ 		line3
-+ 
-  aaaaaa
-  bbbbbb
-  cccccc
-*** ../vim-7.4.209/src/testdir/test39.ok	2014-01-14 13:18:53.000000000 +0100
---- src/testdir/test39.ok	2014-03-19 18:34:18.206154273 +0100
-***************
-*** 17,22 ****
---- 17,26 ----
-  C23ab
-  456ab7
-  
-+        x 	line1
-+        x 	line2
-+        x 	line3
-+ 
-  the YOUTUSSEUU end
-  - yOUSSTUSSEXu -
-  THE YOUTUSSEUU END
-*** ../vim-7.4.209/src/version.c	2014-03-19 17:41:20.390105580 +0100
---- src/version.c	2014-03-19 18:27:19.746147861 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     210,
-  /**/
-
--- 
-SUPERIMPOSE "England AD 787".  After a few more seconds we hear hoofbeats in
-the distance.  They come slowly closer.  Then out of the mist comes KING
-ARTHUR followed by a SERVANT who is banging two half coconuts together.
-                 "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    ///
diff --git a/7.4.211 b/7.4.211
deleted file mode 100644
index 783855c..0000000
--- a/7.4.211
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.211
-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.211
-Problem:    ":lu" is an abbreviation for ":lua", but it should be ":lunmap".
-	    (ZyX)
-Solution:   Move "lunmap" to above "lua".
-Files:	    src/ex_cmds.h
-
-
-*** ../vim-7.4.210/src/ex_cmds.h	2013-11-09 05:30:18.000000000 +0100
---- src/ex_cmds.h	2014-03-22 13:28:01.277844383 +0100
-***************
-*** 573,586 ****
-  			RANGE|NOTADR|COUNT|TRLBAR|BANG),
-  EX(CMD_ltag,		"ltag",	ex_tag,
-  			NOTADR|TRLBAR|BANG|WORD1),
-  EX(CMD_lua,		"lua",		ex_lua,
-  			RANGE|EXTRA|NEEDARG|CMDWIN),
-  EX(CMD_luado,		"luado",	ex_luado,
-  			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
-  EX(CMD_luafile,		"luafile",	ex_luafile,
-  			RANGE|FILE1|NEEDARG|CMDWIN),
-- EX(CMD_lunmap,		"lunmap",	ex_unmap,
-- 			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_lvimgrep,	"lvimgrep",	ex_vimgrep,
-  			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
-  EX(CMD_lvimgrepadd,	"lvimgrepadd",	ex_vimgrep,
---- 573,586 ----
-  			RANGE|NOTADR|COUNT|TRLBAR|BANG),
-  EX(CMD_ltag,		"ltag",	ex_tag,
-  			NOTADR|TRLBAR|BANG|WORD1),
-+ EX(CMD_lunmap,		"lunmap",	ex_unmap,
-+ 			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_lua,		"lua",		ex_lua,
-  			RANGE|EXTRA|NEEDARG|CMDWIN),
-  EX(CMD_luado,		"luado",	ex_luado,
-  			RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
-  EX(CMD_luafile,		"luafile",	ex_luafile,
-  			RANGE|FILE1|NEEDARG|CMDWIN),
-  EX(CMD_lvimgrep,	"lvimgrep",	ex_vimgrep,
-  			RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
-  EX(CMD_lvimgrepadd,	"lvimgrepadd",	ex_vimgrep,
-*** ../vim-7.4.210/src/version.c	2014-03-19 18:57:27.730175565 +0100
---- src/version.c	2014-03-22 13:28:47.421845090 +0100
-***************
-*** 740,741 ****
---- 740,743 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     211,
-  /**/
-
--- 
-"I've been teaching myself to play the piano for about 5 years and now write
-most of my songs on it, mainly because I can never find any paper."
-		Jeff Lynne, ELO's greatest hits
-
- /// 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    ///
diff --git a/7.4.212 b/7.4.212
deleted file mode 100644
index 6bc98eb..0000000
--- a/7.4.212
+++ /dev/null
@@ -1,5720 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.212
-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.212 (after 7.4.200)
-Problem:    Now that the +visual feature is always enabled the #ifdefs for it
-	    are not useful.
-Solution:   Remove the checks for FEAT_VISUAL.
-Files:	    src/buffer.c, src/charset.c, src/edit.c, src/eval.c,
-	    src/ex_cmds.c, src/ex_docmd.c, src/fold.c, src/getchar.c,
-	    src/gui.c, src/gui_mac.c, src/gui_w48.c, src/main.c, src/mark.c,
-	    src/menu.c, src/misc2.c, src/move.c, src/netbeans.c, src/normal.c,
-	    src/ops.c, src/option.c, src/os_msdos.c, src/os_qnx.c,
-	    src/quickfix.c, src/regexp.c, src/regexp_nfa.c, src/screen.c,
-	    src/search.c, src/spell.c, src/syntax.c, src/term.c, src/ui.c,
-	    src/undo.c, src/version.c, src/window.c, src/feature.h,
-	    src/globals.h, src/option.h, src/os_win32.h, src/structs.h
-
-
-*** ../vim-7.4.211/src/buffer.c	2014-03-12 18:55:52.100906804 +0100
---- src/buffer.c	2014-03-23 13:01:39.843144050 +0100
-***************
-*** 1432,1441 ****
-  	curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
-      buflist_altfpos(curwin);			 /* remember curpos */
-  
-- #ifdef FEAT_VISUAL
-      /* Don't restart Select mode after switching to another buffer. */
-      VIsual_reselect = FALSE;
-- #endif
-  
-      /* close_windows() or apply_autocmds() may change curbuf */
-      prevbuf = curbuf;
---- 1432,1439 ----
-*** ../vim-7.4.211/src/charset.c	2013-02-06 16:20:01.000000000 +0100
---- src/charset.c	2014-03-23 13:02:19.467144657 +0100
-***************
-*** 1380,1389 ****
-  		&& (State & NORMAL)
-  		&& !wp->w_p_list
-  		&& !virtual_active()
-! #ifdef FEAT_VISUAL
-! 		&& !(VIsual_active
-! 				   && (*p_sel == 'e' || ltoreq(*pos, VIsual)))
-! #endif
-  		)
-  	    *cursor = vcol + incr - 1;	    /* cursor at end */
-  	else
---- 1380,1386 ----
-  		&& (State & NORMAL)
-  		&& !wp->w_p_list
-  		&& !virtual_active()
-! 		&& !(VIsual_active && (*p_sel == 'e' || ltoreq(*pos, VIsual)))
-  		)
-  	    *cursor = vcol + incr - 1;	    /* cursor at end */
-  	else
-***************
-*** 1463,1469 ****
-  }
-  #endif
-  
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-  /*
-   * Get the leftmost and rightmost virtual column of pos1 and pos2.
-   * Used for Visual block mode.
---- 1460,1465 ----
-***************
-*** 1500,1506 ****
-      else
-  	*right = to1;
-  }
-- #endif
-  
-  /*
-   * skipwhite: skip over ' ' and '\t'.
---- 1496,1501 ----
-*** ../vim-7.4.211/src/edit.c	2014-02-22 23:03:48.712901208 +0100
---- src/edit.c	2014-03-23 13:03:11.951145462 +0100
-***************
-*** 220,228 ****
-  #ifdef FEAT_RIGHTLEFT
-  static void ins_ctrl_ __ARGS((void));
-  #endif
-- #ifdef FEAT_VISUAL
-  static int ins_start_select __ARGS((int c));
-- #endif
-  static void ins_insert __ARGS((int replaceState));
-  static void ins_ctrl_o __ARGS((void));
-  static void ins_shift __ARGS((int c, int lastc));
---- 220,226 ----
-***************
-*** 932,938 ****
-  	    }
-  #endif
-  
-- #ifdef FEAT_VISUAL
-  	/*
-  	 * If 'keymodel' contains "startsel", may start selection.  If it
-  	 * does, a CTRL-O and c will be stuffed, we need to get these
---- 930,935 ----
-***************
-*** 940,946 ****
-  	 */
-  	if (ins_start_select(c))
-  	    continue;
-- #endif
-  
-  	/*
-  	 * The big switch to handle a character in insert mode.
---- 937,942 ----
-***************
-*** 6900,6906 ****
-  	    else if (cc != NUL)
-  		++curwin->w_cursor.col;	/* put cursor back on the NUL */
-  
-- #ifdef FEAT_VISUAL
-  	    /* <C-S-Right> may have started Visual mode, adjust the position for
-  	     * deleted characters. */
-  	    if (VIsual_active && VIsual.lnum == curwin->w_cursor.lnum)
---- 6896,6901 ----
-***************
-*** 6910,6921 ****
-  		if (VIsual.col > len)
-  		{
-  		    VIsual.col = len;
-! # ifdef FEAT_VIRTUALEDIT
-  		    VIsual.coladd = 0;
-! # endif
-  		}
-  	    }
-- #endif
-  	}
-      }
-      did_ai = FALSE;
---- 6905,6915 ----
-  		if (VIsual.col > len)
-  		{
-  		    VIsual.col = len;
-! #ifdef FEAT_VIRTUALEDIT
-  		    VIsual.coladd = 0;
-! #endif
-  		}
-  	    }
-  	}
-      }
-      did_ai = FALSE;
-***************
-*** 8112,8120 ****
-      int		need_redraw = FALSE;
-      int		regname;
-      int		literally = 0;
-- #ifdef FEAT_VISUAL
-      int		vis_active = VIsual_active;
-- #endif
-  
-      /*
-       * If we are going to wait for a character, show a '"'.
---- 8106,8112 ----
-***************
-*** 8218,8228 ****
-      if (need_redraw || stuff_empty())
-  	edit_unputchar();
-  
-- #ifdef FEAT_VISUAL
-      /* Disallow starting Visual mode here, would get a weird mode. */
-      if (!vis_active && VIsual_active)
-  	end_visual_mode();
-- #endif
-  }
-  
-  /*
---- 8210,8218 ----
-***************
-*** 8419,8429 ****
-  #endif
-  	       )
-  	    && (restart_edit == NUL
-! 		   || (gchar_cursor() == NUL
-! #ifdef FEAT_VISUAL
-! 		       && !VIsual_active
-! #endif
-! 		      ))
-  #ifdef FEAT_RIGHTLEFT
-  	    && !revins_on
-  #endif
---- 8409,8415 ----
-  #endif
-  	       )
-  	    && (restart_edit == NUL
-! 		   || (gchar_cursor() == NUL && !VIsual_active))
-  #ifdef FEAT_RIGHTLEFT
-  	    && !revins_on
-  #endif
-***************
-*** 8525,8531 ****
-  }
-  #endif
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * If 'keymodel' contains "startsel", may start selection.
-   * Returns TRUE when a CTRL-O and other keys stuffed.
---- 8511,8516 ----
-***************
-*** 8581,8587 ****
-  	}
-      return FALSE;
-  }
-- #endif
-  
-  /*
-   * <Insert> key in Insert mode: toggle insert/replace mode.
---- 8566,8571 ----
-*** ../vim-7.4.211/src/eval.c	2014-02-24 03:31:55.816738026 +0100
---- src/eval.c	2014-03-23 13:03:56.419146143 +0100
-***************
-*** 11833,11844 ****
-      {
-  	case MLINE: buf[0] = 'V'; break;
-  	case MCHAR: buf[0] = 'v'; break;
-- #ifdef FEAT_VISUAL
-  	case MBLOCK:
-  		buf[0] = Ctrl_V;
-  		sprintf((char *)buf + 1, "%ld", reglen + 1);
-  		break;
-- #endif
-      }
-      rettv->v_type = VAR_STRING;
-      rettv->vval.v_string = vim_strsave(buf);
---- 11833,11842 ----
-***************
-*** 12552,12560 ****
-  #ifdef FEAT_VIRTUALEDIT
-  	"virtualedit",
-  #endif
-- #ifdef FEAT_VISUAL
-  	"visual",
-- #endif
-  #ifdef FEAT_VISUALEXTRA
-  	"visualextra",
-  #endif
---- 12550,12556 ----
-***************
-*** 14397,14403 ****
-      buf[1] = NUL;
-      buf[2] = NUL;
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	if (VIsual_select)
---- 14393,14398 ----
-***************
-*** 14405,14413 ****
-  	else
-  	    buf[0] = VIsual_mode;
-      }
-!     else
-! #endif
-! 	if (State == HITRETURN || State == ASKMORE || State == SETWSIZE
-  		|| State == CONFIRM)
-      {
-  	buf[0] = 'r';
---- 14400,14406 ----
-  	else
-  	    buf[0] = VIsual_mode;
-      }
-!     else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE
-  		|| State == CONFIRM)
-      {
-  	buf[0] = 'r';
-***************
-*** 16756,16762 ****
-  		case 'V': case 'l':	/* line-wise selection */
-  		    yank_type = MLINE;
-  		    break;
-- #ifdef FEAT_VISUAL
-  		case 'b': case Ctrl_V:	/* block-wise selection */
-  		    yank_type = MBLOCK;
-  		    if (VIM_ISDIGIT(stropt[1]))
---- 16749,16754 ----
-***************
-*** 16766,16772 ****
-  			--stropt;
-  		    }
-  		    break;
-- #endif
-  	    }
-      }
-  
---- 16758,16763 ----
-***************
-*** 18769,18775 ****
-      typval_T	*argvars UNUSED;
-      typval_T	*rettv UNUSED;
-  {
-- #ifdef FEAT_VISUAL
-      char_u	str[2];
-  
-      rettv->v_type = VAR_STRING;
---- 18760,18765 ----
-***************
-*** 18780,18786 ****
-      /* A non-zero number or non-empty string argument: reset mode. */
-      if (non_zero_arg(&argvars[0]))
-  	curbuf->b_visual_mode_eval = NUL;
-- #endif
-  }
-  
-  /*
---- 18770,18775 ----
-***************
-*** 19154,19167 ****
-  	return NULL;
-      if (name[0] == '.')				/* cursor */
-  	return &curwin->w_cursor;
-- #ifdef FEAT_VISUAL
-      if (name[0] == 'v' && name[1] == NUL)	/* Visual start */
-      {
-  	if (VIsual_active)
-  	    return &VIsual;
-  	return &curwin->w_cursor;
-      }
-- #endif
-      if (name[0] == '\'')			/* mark */
-      {
-  	pp = getmark_buf_fnum(curbuf, name[1], FALSE, fnum);
---- 19143,19154 ----
-*** ../vim-7.4.211/src/ex_cmds.c	2014-03-19 17:41:20.390105580 +0100
---- src/ex_cmds.c	2014-03-23 13:04:09.359146341 +0100
-***************
-*** 3274,3286 ****
-  	goto theend;
-      }
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * End Visual mode before switching to another buffer, so the text can be
-       * copied into the GUI selection buffer.
-       */
-      reset_VIsual();
-- #endif
-  
-  #ifdef FEAT_AUTOCMD
-      if ((command != NULL || newlnum > (linenr_T)0)
---- 3274,3284 ----
-*** ../vim-7.4.211/src/ex_docmd.c	2014-03-12 21:28:09.481046816 +0100
---- src/ex_docmd.c	2014-03-23 13:04:47.975146933 +0100
-***************
-*** 8577,8586 ****
-  	beginline(BL_SOL | BL_FIX);
-      }
-  
-- #if defined(FEAT_VISUAL)
-      if (VIsual_active)
-  	end_visual_mode();
-- #endif
-  
-      switch (eap->cmdidx)
-      {
---- 8577,8584 ----
-***************
-*** 8991,9001 ****
-      RedrawingDisabled = 0;
-      p_lz = FALSE;
-      update_topline();
-!     update_screen(eap->forceit ? CLEAR :
-! #ifdef FEAT_VISUAL
-! 	    VIsual_active ? INVERTED :
-! #endif
-! 	    0);
-  #ifdef FEAT_TITLE
-      if (need_maketitle)
-  	maketitle();
---- 8989,8995 ----
-      RedrawingDisabled = 0;
-      p_lz = FALSE;
-      update_topline();
-!     update_screen(eap->forceit ? CLEAR : VIsual_active ? INVERTED : 0);
-  #ifdef FEAT_TITLE
-      if (need_maketitle)
-  	maketitle();
-***************
-*** 9030,9040 ****
-  	status_redraw_all();
-      else
-  	status_redraw_curbuf();
-!     update_screen(
-! # ifdef FEAT_VISUAL
-! 	    VIsual_active ? INVERTED :
-! # endif
-! 	    0);
-      RedrawingDisabled = r;
-      p_lz = p;
-      out_flush();
---- 9024,9030 ----
-  	status_redraw_all();
-      else
-  	status_redraw_curbuf();
-!     update_screen(VIsual_active ? INVERTED : 0);
-      RedrawingDisabled = r;
-      p_lz = p;
-      out_flush();
-*** ../vim-7.4.211/src/fold.c	2013-11-05 07:12:59.000000000 +0100
---- src/fold.c	2014-03-23 13:05:14.775147344 +0100
-***************
-*** 430,440 ****
-      }
-      if (done == DONE_NOTHING)
-  	EMSG(_(e_nofold));
-- #ifdef FEAT_VISUAL
-      /* Force a redraw to remove the Visual highlighting. */
-      if (had_visual)
-  	redraw_curbuf_later(INVERTED);
-- #endif
-  }
-  
-  /* openFold() {{{2 */
---- 430,438 ----
-***************
-*** 807,817 ****
-      if (!did_one)
-      {
-  	EMSG(_(e_nofold));
-- #ifdef FEAT_VISUAL
-  	/* Force a redraw to remove the Visual highlighting. */
-  	if (had_visual)
-  	    redraw_curbuf_later(INVERTED);
-- #endif
-      }
-      else
-  	/* Deleting markers may make cursor column invalid. */
---- 805,813 ----
-***************
-*** 1065,1071 ****
-  }
-  
-  /* foldAdjustVisual() {{{2 */
-- #ifdef FEAT_VISUAL
-  /*
-   * Adjust the Visual area to include any fold at the start or end completely.
-   */
---- 1061,1066 ----
-***************
-*** 1103,1109 ****
-  #endif
-      }
-  }
-- #endif
-  
-  /* cursor_foldstart() {{{2 */
-  /*
---- 1098,1103 ----
-*** ../vim-7.4.211/src/getchar.c	2014-03-12 20:17:47.748982126 +0100
---- src/getchar.c	2014-03-23 13:05:45.383147813 +0100
-***************
-*** 870,876 ****
-  	c = read_redo(FALSE, old_redo);
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (c == 'v')   /* redo Visual */
-      {
-  	VIsual = curwin->w_cursor;
---- 870,875 ----
-***************
-*** 880,886 ****
-  	redo_VIsual_busy = TRUE;
-  	c = read_redo(FALSE, old_redo);
-      }
-- #endif
-  
-      /* try to enter the count (in place of a previous count) */
-      if (count)
---- 879,884 ----
-***************
-*** 1162,1168 ****
-      return typebuf.tb_maplen == 0;
-  }
-  
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-  /*
-   * Return the number of characters that are mapped (or not typed).
-   */
---- 1160,1165 ----
-***************
-*** 1171,1177 ****
-  {
-      return typebuf.tb_maplen;
-  }
-- #endif
-  
-  /*
-   * remove "len" characters from typebuf.tb_buf[typebuf.tb_off + offset]
---- 1168,1173 ----
-***************
-*** 2443,2449 ****
-  				idx = get_menu_index(current_menu, local_State);
-  				if (idx != MENU_INDEX_INVALID)
-  				{
-- # ifdef FEAT_VISUAL
-  				    /*
-  				     * In Select mode and a Visual mode menu
-  				     * is used:  Switch to Visual mode
---- 2439,2444 ----
-***************
-*** 2457,2463 ****
-  					(void)ins_typebuf(K_SELECT_STRING,
-  						  REMAP_NONE, 0, TRUE, FALSE);
-  				    }
-- # endif
-  				    ins_typebuf(current_menu->strings[idx],
-  						current_menu->noremap[idx],
-  						0, TRUE,
---- 2452,2457 ----
-***************
-*** 2516,2522 ****
-  			    break;
-  			}
-  
-- #ifdef FEAT_VISUAL
-  			/*
-  			 * In Select mode and a Visual mode mapping is used:
-  			 * Switch to Visual mode temporarily.  Append K_SELECT
---- 2510,2515 ----
-***************
-*** 2529,2535 ****
-  			    (void)ins_typebuf(K_SELECT_STRING, REMAP_NONE,
-  							      0, TRUE, FALSE);
-  			}
-- #endif
-  
-  #ifdef FEAT_EVAL
-  			/* Copy the values from *mp that are used, because
---- 2522,2527 ----
-*** ../vim-7.4.211/src/gui.c	2013-06-30 17:41:48.000000000 +0200
---- src/gui.c	2014-03-23 13:05:57.623148000 +0100
-***************
-*** 3132,3142 ****
-       */
-      if (!mouse_has(checkfor) || checkfor == MOUSE_COMMAND)
-      {
-- #ifdef FEAT_VISUAL
-  	/* Don't do modeless selection in Visual mode. */
-  	if (checkfor != MOUSE_NONEF && VIsual_active && (State & NORMAL))
-  	    return;
-- #endif
-  
-  	/*
-  	 * When 'mousemodel' is "popup", shift-left is translated to right.
---- 3132,3140 ----
-*** ../vim-7.4.211/src/gui_mac.c	2013-05-06 04:06:04.000000000 +0200
---- src/gui_mac.c	2014-03-23 13:06:30.143148498 +0100
-***************
-*** 1068,1078 ****
-      }
-   */
-  
-- 
-- #ifdef FEAT_VISUAL
-      reset_VIsual();
-- #endif
-- 
-      fnames = new_fnames_from_AEDesc(&theList, &numFiles, &error);
-  
-      if (error)
---- 1068,1074 ----
-***************
-*** 1142,1148 ****
-  
-      /* Update the screen display */
-      update_screen(NOT_VALID);
-! #ifdef FEAT_VISUAL
-      /* Select the text if possible */
-      if (gotPosition)
-      {
---- 1138,1144 ----
-  
-      /* Update the screen display */
-      update_screen(NOT_VALID);
-! 
-      /* Select the text if possible */
-      if (gotPosition)
-      {
-***************
-*** 1160,1166 ****
-  	    VIsual.col = 0;
-  	}
-      }
-! #endif
-      setcursor();
-      out_flush();
-  
---- 1156,1162 ----
-  	    VIsual.col = 0;
-  	}
-      }
-! 
-      setcursor();
-      out_flush();
-  
-*** ../vim-7.4.211/src/gui_w48.c	2014-03-19 12:37:18.537826062 +0100
---- src/gui_w48.c	2014-03-23 13:06:44.959148725 +0100
-***************
-*** 3708,3716 ****
-      DragQueryPoint(hDrop, &pt);
-      MapWindowPoints(s_hwnd, s_textArea, &pt, 1);
-  
-- # ifdef FEAT_VISUAL
-      reset_VIsual();
-- # endif
-  
-      fnames = (char_u **)alloc(cFiles * sizeof(char_u *));
-  
---- 3708,3714 ----
-*** ../vim-7.4.211/src/main.c	2014-01-14 12:57:00.000000000 +0100
---- src/main.c	2014-03-23 13:07:21.771149289 +0100
-***************
-*** 1057,1065 ****
-      if (!cmdwin && !noexmode && SETJMP(x_jump_env))
-      {
-  	State = NORMAL;
-- # ifdef FEAT_VISUAL
-  	VIsual_active = FALSE;
-- # endif
-  	got_int = TRUE;
-  	need_wait_return = FALSE;
-  	global_busy = FALSE;
---- 1057,1063 ----
-***************
-*** 1096,1106 ****
-  		check_timestamps(FALSE);
-  	    if (need_wait_return)	/* if wait_return still needed ... */
-  		wait_return(FALSE);	/* ... call it now */
-! 	    if (need_start_insertmode && goto_im()
-! #ifdef FEAT_VISUAL
-! 		    && !VIsual_active
-! #endif
-! 		    )
-  	    {
-  		need_start_insertmode = FALSE;
-  		stuffReadbuff((char_u *)"i");	/* start insert mode next */
---- 1094,1100 ----
-  		check_timestamps(FALSE);
-  	    if (need_wait_return)	/* if wait_return still needed ... */
-  		wait_return(FALSE);	/* ... call it now */
-! 	    if (need_start_insertmode && goto_im() && !VIsual_active)
-  	    {
-  		need_start_insertmode = FALSE;
-  		stuffReadbuff((char_u *)"i");	/* start insert mode next */
-***************
-*** 1202,1208 ****
-  		diff_need_scrollbind = FALSE;
-  	    }
-  #endif
-! #if defined(FEAT_FOLDING) && defined(FEAT_VISUAL)
-  	    /* Include a closed fold completely in the Visual area. */
-  	    foldAdjustVisual();
-  #endif
---- 1196,1202 ----
-  		diff_need_scrollbind = FALSE;
-  	    }
-  #endif
-! #if defined(FEAT_FOLDING)
-  	    /* Include a closed fold completely in the Visual area. */
-  	    foldAdjustVisual();
-  #endif
-***************
-*** 1228,1239 ****
-  	    update_topline();
-  	    validate_cursor();
-  
-- #ifdef FEAT_VISUAL
-  	    if (VIsual_active)
-  		update_curbuf(INVERTED);/* update inverted part */
-! 	    else
-! #endif
-! 		if (must_redraw)
-  		update_screen(0);
-  	    else if (redraw_cmdline || clear_cmdline)
-  		showmode();
---- 1222,1230 ----
-  	    update_topline();
-  	    validate_cursor();
-  
-  	    if (VIsual_active)
-  		update_curbuf(INVERTED);/* update inverted part */
-! 	    else if (must_redraw)
-  		update_screen(0);
-  	    else if (redraw_cmdline || clear_cmdline)
-  		showmode();
-*** ../vim-7.4.211/src/mark.c	2013-11-03 00:20:46.000000000 +0100
---- src/mark.c	2014-03-23 13:08:03.011149921 +0100
-***************
-*** 98,104 ****
-  	return OK;
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (c == '<' || c == '>')
-      {
-  	if (c == '<')
---- 98,103 ----
-***************
-*** 110,116 ****
-  	    curbuf->b_visual.vi_mode = 'v';
-  	return OK;
-      }
-- #endif
-  
-  #ifndef EBCDIC
-      if (c > 'z')	    /* some islower() and isupper() cannot handle
---- 109,114 ----
-***************
-*** 340,348 ****
-      int		*fnum;
-  {
-      pos_T		*posp;
-- #ifdef FEAT_VISUAL
-      pos_T		*startp, *endp;
-- #endif
-      static pos_T	pos_copy;
-  
-      posp = NULL;
---- 338,344 ----
-***************
-*** 403,409 ****
-  	curwin->w_cursor = pos;
-  	listcmd_busy = slcb;
-      }
-- #ifdef FEAT_VISUAL
-      else if (c == '<' || c == '>')	/* start/end of visual area */
-      {
-  	startp = &buf->b_visual.vi_start;
---- 399,404 ----
-***************
-*** 428,434 ****
-  #endif
-  	}
-      }
-- #endif
-      else if (ASCII_ISLOWER(c))		/* normal named mark */
-      {
-  	posp = &(buf->b_namedm[c - 'a']);
---- 423,428 ----
-***************
-*** 757,766 ****
-      show_one_mark(']', arg, &curbuf->b_op_end, NULL, TRUE);
-      show_one_mark('^', arg, &curbuf->b_last_insert, NULL, TRUE);
-      show_one_mark('.', arg, &curbuf->b_last_change, NULL, TRUE);
-- #ifdef FEAT_VISUAL
-      show_one_mark('<', arg, &curbuf->b_visual.vi_start, NULL, TRUE);
-      show_one_mark('>', arg, &curbuf->b_visual.vi_end, NULL, TRUE);
-- #endif
-      show_one_mark(-1, arg, NULL, NULL, FALSE);
-  }
-  
---- 751,758 ----
-***************
-*** 892,901 ****
-  		    case '.': curbuf->b_last_change.lnum = 0; break;
-  		    case '[': curbuf->b_op_start.lnum    = 0; break;
-  		    case ']': curbuf->b_op_end.lnum      = 0; break;
-- #ifdef FEAT_VISUAL
-  		    case '<': curbuf->b_visual.vi_start.lnum = 0; break;
-  		    case '>': curbuf->b_visual.vi_end.lnum   = 0; break;
-- #endif
-  		    case ' ': break;
-  		    default:  EMSG2(_(e_invarg2), p);
-  			      return;
---- 884,891 ----
-***************
-*** 1085,1095 ****
-  	    one_adjust_nodel(&(curbuf->b_changelist[i].lnum));
-  #endif
-  
-- #ifdef FEAT_VISUAL
-  	/* Visual area */
-  	one_adjust_nodel(&(curbuf->b_visual.vi_start.lnum));
-  	one_adjust_nodel(&(curbuf->b_visual.vi_end.lnum));
-- #endif
-  
-  #ifdef FEAT_QUICKFIX
-  	/* quickfix marks */
---- 1075,1083 ----
-***************
-*** 1136,1149 ****
-  		    if (win->w_tagstack[i].fmark.fnum == fnum)
-  			one_adjust_nodel(&(win->w_tagstack[i].fmark.mark.lnum));
-  
-- #ifdef FEAT_VISUAL
-  	    /* the displayed Visual area */
-  	    if (win->w_old_cursor_lnum != 0)
-  	    {
-  		one_adjust_nodel(&(win->w_old_cursor_lnum));
-  		one_adjust_nodel(&(win->w_old_visual_lnum));
-  	    }
-- #endif
-  
-  	    /* topline and cursor position for windows with the same buffer
-  	     * other than the current window */
---- 1124,1135 ----
-***************
-*** 1260,1270 ****
-  	col_adjust(&(curbuf->b_changelist[i]));
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      /* Visual area */
-      col_adjust(&(curbuf->b_visual.vi_start));
-      col_adjust(&(curbuf->b_visual.vi_end));
-- #endif
-  
-      /* previous context mark */
-      col_adjust(&(curwin->w_pcmark));
---- 1246,1254 ----
-*** ../vim-7.4.211/src/menu.c	2011-04-11 15:17:21.000000000 +0200
---- src/menu.c	2014-03-23 13:08:19.091150168 +0100
-***************
-*** 1640,1646 ****
-  	idx = MENU_INDEX_INSERT;
-      else if (state & CMDLINE)
-  	idx = MENU_INDEX_CMDLINE;
-- #ifdef FEAT_VISUAL
-      else if (VIsual_active)
-      {
-  	if (VIsual_select)
---- 1640,1645 ----
-***************
-*** 1648,1654 ****
-  	else
-  	    idx = MENU_INDEX_VISUAL;
-      }
-- #endif
-      else if (state == HITRETURN || state == ASKMORE)
-  	idx = MENU_INDEX_CMDLINE;
-      else if (finish_op)
---- 1647,1652 ----
-***************
-*** 1811,1824 ****
-      static int
-  get_menu_mode()
-  {
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	if (VIsual_select)
-  	    return MENU_INDEX_SELECT;
-  	return MENU_INDEX_VISUAL;
-      }
-- #endif
-      if (State & INSERT)
-  	return MENU_INDEX_INSERT;
-      if ((State & CMDLINE) || State == ASKMORE || State == HITRETURN)
---- 1809,1820 ----
-*** ../vim-7.4.211/src/misc2.c	2014-02-23 23:38:58.824760280 +0100
---- src/misc2.c	2014-03-23 13:08:56.927150748 +0100
-***************
-*** 31,39 ****
-      if (virtual_op != MAYBE)
-  	return virtual_op;
-      return (ve_flags == VE_ALL
-- # ifdef FEAT_VISUAL
-  	    || ((ve_flags & VE_BLOCK) && VIsual_active && VIsual_mode == Ctrl_V)
-- # endif
-  	    || ((ve_flags & VE_INSERT) && (State & INSERT)));
-  }
-  
---- 31,37 ----
-***************
-*** 149,157 ****
-  
-      one_more = (State & INSERT)
-  		    || restart_edit != NUL
-- #ifdef FEAT_VISUAL
-  		    || (VIsual_active && *p_sel != 'o')
-- #endif
-  #ifdef FEAT_VIRTUALEDIT
-  		    || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL)
-  #endif
---- 147,153 ----
-***************
-*** 570,578 ****
-  	 * - in Visual mode and 'selection' isn't "old"
-  	 * - 'virtualedit' is set */
-  	if ((State & INSERT) || restart_edit
-- #ifdef FEAT_VISUAL
-  		|| (VIsual_active && *p_sel != 'o')
-- #endif
-  #ifdef FEAT_VIRTUALEDIT
-  		|| (ve_flags & VE_ONEMORE)
-  #endif
---- 566,572 ----
-***************
-*** 627,635 ****
-  adjust_cursor_col()
-  {
-      if (curwin->w_cursor.col > 0
-- # ifdef FEAT_VISUAL
-  	    && (!VIsual_active || *p_sel == 'o')
-- # endif
-  	    && gchar_cursor() == NUL)
-  	--curwin->w_cursor.col;
-  }
---- 621,627 ----
-***************
-*** 3290,3306 ****
-  {
-      if (State & NORMAL)
-      {
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active)
-  	{
-  	    if (VIsual_select)
-  		return SELECTMODE;
-  	    return VISUAL;
-  	}
-! 	else
-! #endif
-! 	    if (finish_op)
-! 		return OP_PENDING;
-      }
-      return State;
-  }
---- 3282,3295 ----
-  {
-      if (State & NORMAL)
-      {
-  	if (VIsual_active)
-  	{
-  	    if (VIsual_select)
-  		return SELECTMODE;
-  	    return VISUAL;
-  	}
-! 	else if (finish_op)
-! 	    return OP_PENDING;
-      }
-      return State;
-  }
-***************
-*** 3738,3744 ****
-      }
-      if (finish_op)
-  	return SHAPE_IDX_O;
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	if (*p_sel == 'e')
---- 3727,3732 ----
-***************
-*** 3746,3752 ****
-  	else
-  	    return SHAPE_IDX_V;
-      }
-- #endif
-      return SHAPE_IDX_N;
-  }
-  #endif
---- 3734,3739 ----
-*** ../vim-7.4.211/src/move.c	2014-02-11 18:58:05.102320947 +0100
---- src/move.c	2014-03-23 13:09:16.535151048 +0100
-***************
-*** 2857,2873 ****
-      win_T	*old_curwin = curwin;
-      buf_T	*old_curbuf = curbuf;
-      int		restart_edit_save;
-- # ifdef FEAT_VISUAL
-      int		old_VIsual_select = VIsual_select;
-      int		old_VIsual_active = VIsual_active;
-- # endif
-  
-      /*
-       * loop through the cursorbound windows
-       */
-- # ifdef FEAT_VISUAL
-      VIsual_select = VIsual_active = 0;
-- # endif
-      for (curwin = firstwin; curwin; curwin = curwin->w_next)
-      {
-  	curbuf = curwin->w_buffer;
---- 2857,2869 ----
-***************
-*** 2916,2925 ****
-      /*
-       * reset current-window
-       */
-- # ifdef FEAT_VISUAL
-      VIsual_select = old_VIsual_select;
-      VIsual_active = old_VIsual_active;
-- # endif
-      curwin = old_curwin;
-      curbuf = old_curbuf;
-  }
---- 2912,2919 ----
-*** ../vim-7.4.211/src/netbeans.c	2012-06-20 19:56:18.000000000 +0200
---- src/netbeans.c	2014-03-23 13:09:29.163151241 +0100
-***************
-*** 2232,2242 ****
-  
-  	    nb_set_curbuf(buf->bufp);
-  
-- #ifdef FEAT_VISUAL
-  	    /* Don't want Visual mode now. */
-  	    if (VIsual_active)
-  		end_visual_mode();
-- #endif
-  #ifdef NBDEBUG
-  	    s = args;
-  #endif
---- 2232,2240 ----
-*** ../vim-7.4.211/src/normal.c	2014-03-12 17:41:59.128838878 +0100
---- src/normal.c	2014-03-23 15:07:40.435259900 +0100
-***************
-*** 14,20 ****
-  
-  #include "vim.h"
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * The Visual area is remembered for reselection.
-   */
---- 14,19 ----
-***************
-*** 24,30 ****
-  static int	VIsual_mode_orig = NUL;		/* saved Visual mode */
-  
-  static int	restart_VIsual_select = 0;
-- #endif
-  
-  #ifdef FEAT_EVAL
-  static void	set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount));
---- 23,28 ----
-***************
-*** 37,43 ****
-  static int	find_command __ARGS((int cmdchar));
-  static void	op_colon __ARGS((oparg_T *oap));
-  static void	op_function __ARGS((oparg_T *oap));
-! #if defined(FEAT_MOUSE) && defined(FEAT_VISUAL)
-  static void	find_start_of_word __ARGS((pos_T *));
-  static void	find_end_of_word __ARGS((pos_T *));
-  static int	get_mouse_class __ARGS((char_u *p));
---- 35,41 ----
-  static int	find_command __ARGS((int cmdchar));
-  static void	op_colon __ARGS((oparg_T *oap));
-  static void	op_function __ARGS((oparg_T *oap));
-! #if defined(FEAT_MOUSE)
-  static void	find_start_of_word __ARGS((pos_T *));
-  static void	find_end_of_word __ARGS((pos_T *));
-  static int	get_mouse_class __ARGS((char_u *p));
-***************
-*** 48,56 ****
-  static int	checkclearopq __ARGS((oparg_T *oap));
-  static void	clearop __ARGS((oparg_T *oap));
-  static void	clearopbeep __ARGS((oparg_T *oap));
-- #ifdef FEAT_VISUAL
-  static void	unshift_special __ARGS((cmdarg_T *cap));
-- #endif
-  #ifdef FEAT_CMDL_INFO
-  static void	del_from_showcmd __ARGS((int));
-  #endif
---- 46,52 ----
-***************
-*** 117,141 ****
-  #ifdef FEAT_VREPLACE
-  static void	nv_vreplace __ARGS((cmdarg_T *cap));
-  #endif
-- #ifdef FEAT_VISUAL
-  static void	v_swap_corners __ARGS((int cmdchar));
-- #endif
-  static void	nv_replace __ARGS((cmdarg_T *cap));
-  static void	n_swapchar __ARGS((cmdarg_T *cap));
-  static void	nv_cursormark __ARGS((cmdarg_T *cap, int flag, pos_T *pos));
-- #ifdef FEAT_VISUAL
-  static void	v_visop __ARGS((cmdarg_T *cap));
-- #endif
-  static void	nv_subst __ARGS((cmdarg_T *cap));
-  static void	nv_abbrev __ARGS((cmdarg_T *cap));
-  static void	nv_optrans __ARGS((cmdarg_T *cap));
-  static void	nv_gomark __ARGS((cmdarg_T *cap));
-  static void	nv_pcmark __ARGS((cmdarg_T *cap));
-  static void	nv_regname __ARGS((cmdarg_T *cap));
-- #ifdef FEAT_VISUAL
-  static void	nv_visual __ARGS((cmdarg_T *cap));
-  static void	n_start_visual_mode __ARGS((int c));
-- #endif
-  static void	nv_window __ARGS((cmdarg_T *cap));
-  static void	nv_suspend __ARGS((cmdarg_T *cap));
-  static void	nv_g_cmd __ARGS((cmdarg_T *cap));
---- 113,131 ----
-***************
-*** 155,165 ****
-  static void	nv_wordcmd __ARGS((cmdarg_T *cap));
-  static void	nv_beginline __ARGS((cmdarg_T *cap));
-  static void	adjust_cursor __ARGS((oparg_T *oap));
-- #ifdef FEAT_VISUAL
-  static void	adjust_for_sel __ARGS((cmdarg_T *cap));
-  static int	unadjust_for_sel __ARGS((void));
-  static void	nv_select __ARGS((cmdarg_T *cap));
-- #endif
-  static void	nv_goto __ARGS((cmdarg_T *cap));
-  static void	nv_normal __ARGS((cmdarg_T *cap));
-  static void	nv_esc __ARGS((cmdarg_T *oap));
---- 145,153 ----
-***************
-*** 248,271 ****
-      {Ctrl_N,	nv_down,	NV_STS,			FALSE},
-      {Ctrl_O,	nv_ctrlo,	0,			0},
-      {Ctrl_P,	nv_up,		NV_STS,			FALSE},
-- #ifdef FEAT_VISUAL
-      {Ctrl_Q,	nv_visual,	0,			FALSE},
-- #else
--     {Ctrl_Q,	nv_ignore,	0,			0},
-- #endif
-      {Ctrl_R,	nv_redo,	0,			0},
-      {Ctrl_S,	nv_ignore,	0,			0},
-      {Ctrl_T,	nv_tagpop,	NV_NCW,			0},
-      {Ctrl_U,	nv_halfpage,	0,			0},
-- #ifdef FEAT_VISUAL
-      {Ctrl_V,	nv_visual,	0,			FALSE},
-      {'V',	nv_visual,	0,			FALSE},
-      {'v',	nv_visual,	0,			FALSE},
-- #else
--     {Ctrl_V,	nv_error,	0,			0},
--     {'V',	nv_error,	0,			0},
--     {'v',	nv_error,	0,			0},
-- #endif
-      {Ctrl_W,	nv_window,	0,			0},
-      {Ctrl_X,	nv_addsub,	0,			0},
-      {Ctrl_Y,	nv_scroll_line,	0,			FALSE},
---- 236,249 ----
-***************
-*** 427,435 ****
-      {K_HELP,	nv_help,	NV_NCW,			0},
-      {K_F1,	nv_help,	NV_NCW,			0},
-      {K_XF1,	nv_help,	NV_NCW,			0},
-- #ifdef FEAT_VISUAL
-      {K_SELECT,	nv_select,	0,			0},
-- #endif
-  #ifdef FEAT_GUI
-      {K_VER_SCROLLBAR, nv_ver_scrollbar, 0,		0},
-      {K_HOR_SCROLLBAR, nv_hor_scrollbar, 0,		0},
---- 405,411 ----
-***************
-*** 579,589 ****
-  #ifdef FEAT_CMDL_INFO
-      int		need_flushbuf;		/* need to call out_flush() */
-  #endif
-- #ifdef FEAT_VISUAL
-      pos_T	old_pos;		/* cursor position before command */
-      int		mapped_len;
-      static int	old_mapped_len = 0;
-- #endif
-      int		idx;
-  #ifdef FEAT_EVAL
-      int		set_prevcount = FALSE;
---- 555,563 ----
-***************
-*** 643,651 ****
-      }
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      mapped_len = typebuf_maplen();
-- #endif
-  
-      State = NORMAL_BUSY;
-  #ifdef USE_ON_FLY_SCROLL
---- 617,623 ----
-***************
-*** 666,672 ****
-      c = safe_vgetc();
-      LANGMAP_ADJUST(c, TRUE);
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * If a mapping was started in Visual or Select mode, remember the length
-       * of the mapping.  This is used below to not return to Insert mode for as
---- 638,643 ----
-***************
-*** 677,688 ****
-      else if (old_mapped_len
-  		|| (VIsual_active && mapped_len == 0 && typebuf_maplen() > 0))
-  	old_mapped_len = typebuf_maplen();
-- #endif
-  
-      if (c == NUL)
-  	c = K_ZERO;
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * In Select mode, typed text replaces the selection.
-       */
---- 648,657 ----
-***************
-*** 703,718 ****
-  	msg_nowait = TRUE;	/* don't delay going to insert mode */
-  	old_mapped_len = 0;	/* do go to Insert mode */
-      }
-- #endif
-  
-  #ifdef FEAT_CMDL_INFO
-      need_flushbuf = add_to_showcmd(c);
-  #endif
-  
-  getcount:
-- #ifdef FEAT_VISUAL
-      if (!(VIsual_active && VIsual_select))
-- #endif
-      {
-  	/*
-  	 * Handle a count before a command and compute ca.count0.
---- 672,684 ----
-***************
-*** 856,862 ****
-  	goto normal_end;
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * In Visual/Select mode, a few keys are handled in a special way.
-       */
---- 822,827 ----
-***************
-*** 892,898 ****
-  	    }
-  	}
-      }
-- #endif
-  
-  #ifdef FEAT_RIGHTLEFT
-      if (curwin->w_p_rl && KeyTyped && !KeyStuffed
---- 857,862 ----
-***************
-*** 930,940 ****
-  		    && !Recording
-  		    && !Exec_reg)
-  		|| ((ca.cmdchar == 'a' || ca.cmdchar == 'i')
-! 		    && (oap->op_type != OP_NOP
-! #ifdef FEAT_VISUAL
-! 			|| VIsual_active
-! #endif
-! 		       ))))
-      {
-  	int	*cp;
-  	int	repl = FALSE;	/* get character for replace mode */
---- 894,900 ----
-  		    && !Recording
-  		    && !Exec_reg)
-  		|| ((ca.cmdchar == 'a' || ca.cmdchar == 'i')
-! 		    && (oap->op_type != OP_NOP || VIsual_active))))
-      {
-  	int	*cp;
-  	int	repl = FALSE;	/* get character for replace mode */
-***************
-*** 1168,1174 ****
-  	msg_col = 0;
-      }
-  
-- #ifdef FEAT_VISUAL
-      old_pos = curwin->w_cursor;		/* remember where cursor was */
-  
-      /* When 'keymodel' contains "startsel" some keys start Select/Visual
---- 1128,1133 ----
-***************
-*** 1188,1194 ****
-  	    mod_mask &= ~MOD_MASK_SHIFT;
-  	}
-      }
-- #endif
-  
-      /*
-       * Execute the command!
---- 1147,1152 ----
-***************
-*** 1220,1231 ****
-  #endif
-      }
-  
-- #ifdef FEAT_VISUAL
-      /* Get the length of mapped chars again after typing a count, second
-       * character or "z333<cr>". */
-      if (old_mapped_len > 0)
-  	old_mapped_len = typebuf_maplen();
-- #endif
-  
-      /*
-       * If an operation is pending, handle it...
---- 1178,1187 ----
-***************
-*** 1247,1257 ****
-      if (       ((p_smd
-  		    && msg_silent == 0
-  		    && (restart_edit != 0
-- #ifdef FEAT_VISUAL
-  			|| (VIsual_active
-  			    && old_pos.lnum == curwin->w_cursor.lnum
-  			    && old_pos.col == curwin->w_cursor.col)
-- #endif
-  		       )
-  		    && (clear_cmdline
-  			|| redraw_cmdline)
---- 1203,1211 ----
-***************
-*** 1259,1267 ****
-  		    && !msg_nowait
-  		    && KeyTyped)
-  		|| (restart_edit != 0
-- #ifdef FEAT_VISUAL
-  		    && !VIsual_active
-- #endif
-  		    && (msg_scroll
-  			|| emsg_on_display)))
-  	    && oap->regname == 0
---- 1213,1219 ----
-***************
-*** 1368,1403 ****
-       * May switch from Visual to Select mode after CTRL-O command.
-       */
-      if (       oap->op_type == OP_NOP
-- #ifdef FEAT_VISUAL
-  	    && ((restart_edit != 0 && !VIsual_active && old_mapped_len == 0)
-  		|| restart_VIsual_select == 1)
-- #else
-- 	    && restart_edit != 0
-- #endif
-  	    && !(ca.retval & CA_COMMAND_BUSY)
-  	    && stuff_empty()
-  	    && oap->regname == 0)
-      {
-- #ifdef FEAT_VISUAL
-  	if (restart_VIsual_select == 1)
-  	{
-  	    VIsual_select = TRUE;
-  	    showmode();
-  	    restart_VIsual_select = 0;
-  	}
-! #endif
-! 	if (restart_edit != 0
-! #ifdef FEAT_VISUAL
-! 		&& !VIsual_active && old_mapped_len == 0
-! #endif
-! 		)
-  	    (void)edit(restart_edit, FALSE, 1L);
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (restart_VIsual_select == 2)
-  	restart_VIsual_select = 1;
-- #endif
-  
-      /* Save count before an operator for next time. */
-      opcount = ca.opcount;
---- 1320,1343 ----
-       * May switch from Visual to Select mode after CTRL-O command.
-       */
-      if (       oap->op_type == OP_NOP
-  	    && ((restart_edit != 0 && !VIsual_active && old_mapped_len == 0)
-  		|| restart_VIsual_select == 1)
-  	    && !(ca.retval & CA_COMMAND_BUSY)
-  	    && stuff_empty()
-  	    && oap->regname == 0)
-      {
-  	if (restart_VIsual_select == 1)
-  	{
-  	    VIsual_select = TRUE;
-  	    showmode();
-  	    restart_VIsual_select = 0;
-  	}
-! 	if (restart_edit != 0 && !VIsual_active && old_mapped_len == 0)
-  	    (void)edit(restart_edit, FALSE, 1L);
-      }
-  
-      if (restart_VIsual_select == 2)
-  	restart_VIsual_select = 1;
-  
-      /* Save count before an operator for next time. */
-      opcount = ca.opcount;
-***************
-*** 1437,1451 ****
-      int		empty_region_error;
-      int		restart_edit_save;
-  
-- #ifdef FEAT_VISUAL
-      /* The visual area is remembered for redo */
-      static int	    redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
-      static linenr_T redo_VIsual_line_count; /* number of lines */
-      static colnr_T  redo_VIsual_vcol;	    /* number of cols or end column */
-      static long	    redo_VIsual_count;	    /* count for Visual operator */
-! # ifdef FEAT_VIRTUALEDIT
-      int		    include_line_break = FALSE;
-- # endif
-  #endif
-  
-  #if defined(FEAT_CLIPBOARD)
---- 1377,1389 ----
-      int		empty_region_error;
-      int		restart_edit_save;
-  
-      /* The visual area is remembered for redo */
-      static int	    redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
-      static linenr_T redo_VIsual_line_count; /* number of lines */
-      static colnr_T  redo_VIsual_vcol;	    /* number of cols or end column */
-      static long	    redo_VIsual_count;	    /* count for Visual operator */
-! #ifdef FEAT_VIRTUALEDIT
-      int		    include_line_break = FALSE;
-  #endif
-  
-  #if defined(FEAT_CLIPBOARD)
-***************
-*** 1459,1468 ****
-      if ((clip_star.available || clip_plus.available)
-  	    && oap->op_type != OP_NOP
-  	    && !gui_yank
-- # ifdef FEAT_VISUAL
-  	    && VIsual_active
-  	    && !redo_VIsual_busy
-- # endif
-  	    && oap->regname == 0)
-  	clip_auto_select();
-  #endif
---- 1397,1404 ----
-***************
-*** 1471,1483 ****
-      /*
-       * If an operation is pending, handle it...
-       */
-!     if ((finish_op
-! #ifdef FEAT_VISUAL
-! 		|| VIsual_active
-! #endif
-! 		) && oap->op_type != OP_NOP)
-      {
-- #ifdef FEAT_VISUAL
-  	oap->is_VIsual = VIsual_active;
-  	if (oap->motion_force == 'V')
-  	    oap->motion_type = MLINE;
---- 1407,1414 ----
-      /*
-       * If an operation is pending, handle it...
-       */
-!     if ((finish_op || VIsual_active) && oap->op_type != OP_NOP)
-      {
-  	oap->is_VIsual = VIsual_active;
-  	if (oap->motion_force == 'V')
-  	    oap->motion_type = MLINE;
-***************
-*** 1501,1517 ****
-  	    VIsual_select = FALSE;
-  	    VIsual_reselect = FALSE;
-  	}
-- #endif
-  
-  	/* Only redo yank when 'y' flag is in 'cpoptions'. */
-  	/* Never redo "zf" (define fold). */
-  	if ((vim_strchr(p_cpo, CPO_YANK) != NULL || oap->op_type != OP_YANK)
-- #ifdef FEAT_VISUAL
-  		&& ((!VIsual_active || oap->motion_force)
-  		    /* Also redo Operator-pending Visual mode mappings */
-  		    || (VIsual_active && cap->cmdchar == ':'
-  						 && oap->op_type != OP_COLON))
-- #endif
-  		&& cap->cmdchar != 'D'
-  #ifdef FEAT_FOLDING
-  		&& oap->op_type != OP_FOLD
---- 1432,1445 ----
-***************
-*** 1554,1560 ****
-  	    }
-  	}
-  
-- #ifdef FEAT_VISUAL
-  	if (redo_VIsual_busy)
-  	{
-  	    /* Redo of an operation on a Visual area. Use the same size from
---- 1482,1487 ----
-***************
-*** 1639,1645 ****
-  	    if (VIsual_mode == 'V')
-  		oap->start.col = 0;
-  	}
-- #endif /* FEAT_VISUAL */
-  
-  	/*
-  	 * Set oap->start to the first position of the operated text, oap->end
---- 1566,1571 ----
-***************
-*** 1690,1696 ****
-  	virtual_op = virtual_active();
-  #endif
-  
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active || redo_VIsual_busy)
-  	{
-  	    if (VIsual_mode == Ctrl_V)	/* block mode */
---- 1616,1621 ----
-***************
-*** 1826,1834 ****
-  	    {
-  		oap->motion_type = MCHAR;
-  		if (VIsual_mode != Ctrl_V && *ml_get_pos(&(oap->end)) == NUL
-! # ifdef FEAT_VIRTUALEDIT
-  			&& (include_line_break || !virtual_op)
-! # endif
-  			)
-  		{
-  		    oap->inclusive = FALSE;
---- 1751,1759 ----
-  	    {
-  		oap->motion_type = MCHAR;
-  		if (VIsual_mode != Ctrl_V && *ml_get_pos(&(oap->end)) == NUL
-! #ifdef FEAT_VIRTUALEDIT
-  			&& (include_line_break || !virtual_op)
-! #endif
-  			)
-  		{
-  		    oap->inclusive = FALSE;
-***************
-*** 1840,1848 ****
-  			{
-  			    ++oap->end.lnum;
-  			    oap->end.col = 0;
-! # ifdef FEAT_VIRTUALEDIT
-  			    oap->end.coladd = 0;
-! # endif
-  			    ++oap->line_count;
-  			}
-  			else
---- 1765,1773 ----
-  			{
-  			    ++oap->end.lnum;
-  			    oap->end.col = 0;
-! #ifdef FEAT_VIRTUALEDIT
-  			    oap->end.coladd = 0;
-! #endif
-  			    ++oap->line_count;
-  			}
-  			else
-***************
-*** 1868,1877 ****
-  	    if (!gui_yank)
-  	    {
-  		VIsual_active = FALSE;
-! # ifdef FEAT_MOUSE
-  		setmouse();
-  		mouse_dragging = 0;
-! # endif
-  		if (mode_displayed)
-  		    clear_cmdline = TRUE;   /* unshow visual mode later */
-  #ifdef FEAT_CMDL_INFO
---- 1793,1802 ----
-  	    if (!gui_yank)
-  	    {
-  		VIsual_active = FALSE;
-! #ifdef FEAT_MOUSE
-  		setmouse();
-  		mouse_dragging = 0;
-! #endif
-  		if (mode_displayed)
-  		    clear_cmdline = TRUE;   /* unshow visual mode later */
-  #ifdef FEAT_CMDL_INFO
-***************
-*** 1886,1892 ****
-  		    redraw_curbuf_later(INVERTED);
-  	    }
-  	}
-- #endif
-  
-  #ifdef FEAT_MBYTE
-  	/* Include the trailing byte of a multi-byte char. */
---- 1811,1816 ----
-***************
-*** 1921,1936 ****
-  	empty_region_error = (oap->empty
-  				&& vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL);
-  
-- #ifdef FEAT_VISUAL
-  	/* Force a redraw when operating on an empty Visual region, when
-  	 * 'modifiable is off or creating a fold. */
-  	if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma
-! # ifdef FEAT_FOLDING
-  		    || oap->op_type == OP_FOLD
-! # endif
-  		    ))
-  	    redraw_curbuf_later(INVERTED);
-- #endif
-  
-  	/*
-  	 * If the end of an operator is in column one while oap->motion_type
---- 1845,1858 ----
-  	empty_region_error = (oap->empty
-  				&& vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL);
-  
-  	/* Force a redraw when operating on an empty Visual region, when
-  	 * 'modifiable is off or creating a fold. */
-  	if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma
-! #ifdef FEAT_FOLDING
-  		    || oap->op_type == OP_FOLD
-! #endif
-  		    ))
-  	    redraw_curbuf_later(INVERTED);
-  
-  	/*
-  	 * If the end of an operator is in column one while oap->motion_type
-***************
-*** 1943,1952 ****
-  		&& oap->inclusive == FALSE
-  		&& !(cap->retval & CA_NO_ADJ_OP_END)
-  		&& oap->end.col == 0
-- #ifdef FEAT_VISUAL
-  		&& (!oap->is_VIsual || *p_sel == 'o')
-  		&& !oap->block_mode
-- #endif
-  		&& oap->line_count > 1)
-  	{
-  	    oap->end_adjusted = TRUE;	    /* remember that we did this */
---- 1865,1872 ----
-***************
-*** 1971,1981 ****
-  	{
-  	case OP_LSHIFT:
-  	case OP_RSHIFT:
-! 	    op_shift(oap, TRUE,
-! #ifdef FEAT_VISUAL
-! 		    oap->is_VIsual ? (int)cap->count1 :
-! #endif
-! 		    1);
-  	    auto_format(FALSE, TRUE);
-  	    break;
-  
---- 1891,1897 ----
-  	{
-  	case OP_LSHIFT:
-  	case OP_RSHIFT:
-! 	    op_shift(oap, TRUE, oap->is_VIsual ? (int)cap->count1 : 1);
-  	    auto_format(FALSE, TRUE);
-  	    break;
-  
-***************
-*** 1988,2002 ****
-  		beep_flush();
-  	    else
-  	    {
-! 		(void)do_join(oap->line_count, oap->op_type == OP_JOIN, TRUE, TRUE);
-  		auto_format(FALSE, TRUE);
-  	    }
-  	    break;
-  
-  	case OP_DELETE:
-- #ifdef FEAT_VISUAL
-  	    VIsual_reselect = FALSE;	    /* don't reselect now */
-- #endif
-  	    if (empty_region_error)
-  	    {
-  		vim_beep();
---- 1904,1917 ----
-  		beep_flush();
-  	    else
-  	    {
-! 		(void)do_join(oap->line_count, oap->op_type == OP_JOIN,
-! 								  TRUE, TRUE);
-  		auto_format(FALSE, TRUE);
-  	    }
-  	    break;
-  
-  	case OP_DELETE:
-  	    VIsual_reselect = FALSE;	    /* don't reselect now */
-  	    if (empty_region_error)
-  	    {
-  		vim_beep();
-***************
-*** 2026,2034 ****
-  	    break;
-  
-  	case OP_CHANGE:
-- #ifdef FEAT_VISUAL
-  	    VIsual_reselect = FALSE;	    /* don't reselect now */
-- #endif
-  	    if (empty_region_error)
-  	    {
-  		vim_beep();
---- 1941,1947 ----
-***************
-*** 2126,2134 ****
-  
-  	case OP_INSERT:
-  	case OP_APPEND:
-- #ifdef FEAT_VISUAL
-  	    VIsual_reselect = FALSE;	/* don't reselect now */
-- #endif
-  #ifdef FEAT_VISUALEXTRA
-  	    if (empty_region_error)
-  	    {
---- 2039,2045 ----
-***************
-*** 2158,2166 ****
-  	    break;
-  
-  	case OP_REPLACE:
-- #ifdef FEAT_VISUAL
-  	    VIsual_reselect = FALSE;	/* don't reselect now */
-- #endif
-  #ifdef FEAT_VISUALEXTRA
-  	    if (empty_region_error)
-  #endif
---- 2069,2075 ----
-***************
-*** 2220,2228 ****
-  	{
-  	    curwin->w_cursor = old_cursor;
-  	}
-- #ifdef FEAT_VISUAL
-  	oap->block_mode = FALSE;
-- #endif
-  	clearop(oap);
-      }
-  }
---- 2129,2135 ----
-***************
-*** 2235,2245 ****
-      oparg_T	*oap;
-  {
-      stuffcharReadbuff(':');
-- #ifdef FEAT_VISUAL
-      if (oap->is_VIsual)
-  	stuffReadbuff((char_u *)"'<,'>");
-      else
-- #endif
-      {
-  	/*
-  	 * Make the range look nice, so it can be repeated.
---- 2142,2150 ----
-***************
-*** 2404,2417 ****
-      pos_T	save_cursor;
-  #endif
-      win_T	*old_curwin = curwin;
-- #ifdef FEAT_VISUAL
-      static pos_T orig_cursor;
-      colnr_T	leftcol, rightcol;
-      pos_T	end_visual;
-      int		diff;
-      int		old_active = VIsual_active;
-      int		old_mode = VIsual_mode;
-- #endif
-      int		regname;
-  
-  #if defined(FEAT_FOLDING)
---- 2309,2320 ----
-***************
-*** 2432,2446 ****
-  	if (!gui.in_use)
-  #endif
-  	{
-- #ifdef FEAT_VISUAL
-  	    if (VIsual_active)
-  	    {
-  		if (!mouse_has(MOUSE_VISUAL))
-  		    return FALSE;
-  	    }
-! 	    else
-! #endif
-! 		if (State == NORMAL && !mouse_has(MOUSE_NORMAL))
-  		return FALSE;
-  	}
-  
---- 2335,2346 ----
-  	if (!gui.in_use)
-  #endif
-  	{
-  	    if (VIsual_active)
-  	    {
-  		if (!mouse_has(MOUSE_VISUAL))
-  		    return FALSE;
-  	    }
-! 	    else if (State == NORMAL && !mouse_has(MOUSE_NORMAL))
-  		return FALSE;
-  	}
-  
-***************
-*** 2509,2522 ****
-  	}
-      }
-  
-- #ifndef FEAT_VISUAL
--     /*
--      * ALT is only used for starting/extending Visual mode.
--      */
--     if ((mod_mask & MOD_MASK_ALT))
-- 	return FALSE;
-- #endif
-- 
-      /*
-       * CTRL right mouse button does CTRL-T
-       */
---- 2409,2414 ----
-***************
-*** 2586,2592 ****
-  		return FALSE;
-  	    }
-  
-- #ifdef FEAT_VISUAL
-  	    /*
-  	     * If visual was active, yank the highlighted text and put it
-  	     * before the mouse pointer position.
---- 2478,2483 ----
-***************
-*** 2607,2613 ****
-  		do_always = TRUE;	/* ignore 'mouse' setting next time */
-  		return FALSE;
-  	    }
-- #endif
-  	    /*
-  	     * The rest is below jump_to_mouse()
-  	     */
---- 2498,2503 ----
-***************
-*** 2761,2767 ****
-  		{
-  		    /* First set the cursor position before showing the popup
-  		     * menu. */
-- #ifdef FEAT_VISUAL
-  		    if (VIsual_active)
-  		    {
-  			pos_T    m_pos;
---- 2651,2656 ----
-***************
-*** 2800,2815 ****
-  		    }
-  		    else
-  			jump_flags = MOUSE_MAY_STOP_VIS;
-- #endif
-  		}
-  		if (jump_flags)
-  		{
-  		    jump_flags = jump_to_mouse(jump_flags, NULL, which_button);
-! 		    update_curbuf(
-! #ifdef FEAT_VISUAL
-! 			    VIsual_active ? INVERTED :
-! #endif
-! 			    VALID);
-  		    setcursor();
-  		    out_flush();    /* Update before showing popup menu */
-  		}
---- 2689,2699 ----
-  		    }
-  		    else
-  			jump_flags = MOUSE_MAY_STOP_VIS;
-  		}
-  		if (jump_flags)
-  		{
-  		    jump_flags = jump_to_mouse(jump_flags, NULL, which_button);
-! 		    update_curbuf(VIsual_active ? INVERTED : VALID);
-  		    setcursor();
-  		    out_flush();    /* Update before showing popup menu */
-  		}
-***************
-*** 2832,2838 ****
-  	}
-      }
-  
-- #ifdef FEAT_VISUAL
-      if ((State & (NORMAL | INSERT))
-  			    && !(mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL)))
-      {
---- 2716,2721 ----
-***************
-*** 2872,2878 ****
-  		jump_flags |= MOUSE_MAY_VIS;
-  	}
-      }
-- #endif
-  
-      /*
-       * If an operator is pending, ignore all drags and releases until the
---- 2755,2760 ----
-***************
-*** 2941,2947 ****
-      }
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      /* Set global flag that we are extending the Visual area with mouse
-       * dragging; temporarily minimize 'scrolloff'. */
-      if (VIsual_active && is_drag && p_so)
---- 2823,2828 ----
-***************
-*** 3040,3046 ****
-       */
-      else if ((State & INSERT) && VIsual_active)
-  	stuffcharReadbuff(Ctrl_O);
-- #endif
-  
-      /*
-       * Middle mouse click: Put text before cursor.
---- 2921,2926 ----
-***************
-*** 3118,3128 ****
-       */
-      else if ((mod_mask & MOD_MASK_SHIFT))
-      {
-! 	if (State & INSERT
-! #ifdef FEAT_VISUAL
-! 		|| (VIsual_active && VIsual_select)
-! #endif
-! 		)
-  	    stuffcharReadbuff(Ctrl_O);
-  	if (which_button == MOUSE_LEFT)
-  	    stuffcharReadbuff('*');
---- 2998,3004 ----
-       */
-      else if ((mod_mask & MOD_MASK_SHIFT))
-      {
-! 	if ((State & INSERT) || (VIsual_active && VIsual_select))
-  	    stuffcharReadbuff(Ctrl_O);
-  	if (which_button == MOUSE_LEFT)
-  	    stuffcharReadbuff('*');
-***************
-*** 3153,3159 ****
-  # endif
-      }
-  #endif
-- #ifdef FEAT_VISUAL
-      else if ((mod_mask & MOD_MASK_MULTI_CLICK) && (State & (NORMAL | INSERT))
-  	     && mouse_has(MOUSE_VISUAL))
-      {
---- 3029,3034 ----
-***************
-*** 3267,3278 ****
-  	    || (VIsual_active && p_smd && msg_silent == 0
-  				 && (!old_active || VIsual_mode != old_mode)))
-  	redraw_cmdline = TRUE;
-- #endif
-  
-      return moved;
-  }
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * Move "pos" back to the start of the word it's in.
-   */
---- 3142,3151 ----
-***************
-*** 3372,3381 ****
-  	return 1;
-      return c;
-  }
-- #endif /* FEAT_VISUAL */
-  #endif /* FEAT_MOUSE */
-  
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-  /*
-   * Check if  highlighting for visual mode is possible, give a warning message
-   * if not.
---- 3245,3252 ----
-***************
-*** 3468,3474 ****
-  	VIsual_reselect = FALSE;
-      }
-  }
-- #endif /* FEAT_VISUAL */
-  
-  #if defined(FEAT_BEVAL)
-  static int find_is_eval_item __ARGS((char_u *ptr, int *colp, int *nbp, int dir));
---- 3339,3344 ----
-***************
-*** 3802,3812 ****
-  checkclearopq(oap)
-      oparg_T	*oap;
-  {
-!     if (oap->op_type == OP_NOP
-! #ifdef FEAT_VISUAL
-! 	    && !VIsual_active
-! #endif
-! 	    )
-  	return FALSE;
-      clearopbeep(oap);
-      return TRUE;
---- 3672,3678 ----
-  checkclearopq(oap)
-      oparg_T	*oap;
-  {
-!     if (oap->op_type == OP_NOP && !VIsual_active)
-  	return FALSE;
-      clearopbeep(oap);
-      return TRUE;
-***************
-*** 3830,3836 ****
-      beep_flush();
-  }
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * Remove the shift modifier from a special key.
-   */
---- 3696,3701 ----
-***************
-*** 3849,3866 ****
-      }
-      cap->cmdchar = simplify_key(cap->cmdchar, &mod_mask);
-  }
-- #endif
-  
-  #if defined(FEAT_CMDL_INFO) || defined(PROTO)
-  /*
-   * Routines for displaying a partly typed command
-   */
-  
-! #ifdef FEAT_VISUAL	/* need room for size of Visual area */
-! # define SHOWCMD_BUFLEN SHOWCMD_COLS + 1 + 30
-! #else
-! # define SHOWCMD_BUFLEN SHOWCMD_COLS + 1
-! #endif
-  static char_u	showcmd_buf[SHOWCMD_BUFLEN];
-  static char_u	old_showcmd_buf[SHOWCMD_BUFLEN];  /* For push_showcmd() */
-  static int	showcmd_is_clear = TRUE;
---- 3714,3726 ----
-      }
-      cap->cmdchar = simplify_key(cap->cmdchar, &mod_mask);
-  }
-  
-  #if defined(FEAT_CMDL_INFO) || defined(PROTO)
-  /*
-   * Routines for displaying a partly typed command
-   */
-  
-! #define SHOWCMD_BUFLEN SHOWCMD_COLS + 1 + 30
-  static char_u	showcmd_buf[SHOWCMD_BUFLEN];
-  static char_u	old_showcmd_buf[SHOWCMD_BUFLEN];  /* For push_showcmd() */
-  static int	showcmd_is_clear = TRUE;
-***************
-*** 3874,3880 ****
-      if (!p_sc)
-  	return;
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active && !char_avail())
-      {
-  	int		cursor_bot = lt(VIsual, curwin->w_cursor);
---- 3734,3739 ----
-***************
-*** 3960,3966 ****
-  	showcmd_visual = TRUE;
-      }
-      else
-- #endif
-      {
-  	showcmd_buf[0] = NUL;
-  	showcmd_visual = FALSE;
---- 3819,3824 ----
-***************
-*** 4203,4212 ****
-      int		want_hor;
-      win_T	*old_curwin = curwin;
-      buf_T	*old_curbuf = curbuf;
-- #ifdef FEAT_VISUAL
-      int		old_VIsual_select = VIsual_select;
-      int		old_VIsual_active = VIsual_active;
-- #endif
-      colnr_T	tgt_leftcol = curwin->w_leftcol;
-      long	topline;
-      long	y;
---- 4061,4068 ----
-***************
-*** 4223,4231 ****
-      /*
-       * loop through the scrollbound windows and scroll accordingly
-       */
-- #ifdef FEAT_VISUAL
-      VIsual_select = VIsual_active = 0;
-- #endif
-      for (curwin = firstwin; curwin; curwin = curwin->w_next)
-      {
-  	curbuf = curwin->w_buffer;
---- 4079,4085 ----
-***************
-*** 4280,4289 ****
-      /*
-       * reset current-window
-       */
-- #ifdef FEAT_VISUAL
-      VIsual_select = old_VIsual_select;
-      VIsual_active = old_VIsual_active;
-- #endif
-      curwin = old_curwin;
-      curbuf = old_curbuf;
-  }
---- 4134,4141 ----
-***************
-*** 5239,5249 ****
-  
-  		    if (checkclearop(cap->oap))
-  			break;
-- # ifdef FEAT_VISUAL
-  		    if (VIsual_active && get_visual_text(cap, &ptr, &len)
-  								      == FAIL)
-  			return;
-- # endif
-  		    if (ptr == NULL)
-  		    {
-  			pos_T	pos = curwin->w_cursor;
---- 5091,5099 ----
-***************
-*** 5411,5422 ****
-      /*
-       * Ignore 'Q' in Visual mode, just give a beep.
-       */
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-  	vim_beep();
-!     else
-! #endif
-! 	if (!checkclearop(cap->oap))
-  	do_exmode(FALSE);
-  }
-  
---- 5261,5269 ----
-      /*
-       * Ignore 'Q' in Visual mode, just give a beep.
-       */
-      if (VIsual_active)
-  	vim_beep();
-!     else if (!checkclearop(cap->oap))
-  	do_exmode(FALSE);
-  }
-  
-***************
-*** 5430,5440 ****
-      int	    old_p_im;
-      int	    cmd_result;
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-  	nv_operator(cap);
-      else
-- #endif
-      {
-  	if (cap->oap->op_type != OP_NOP)
-  	{
---- 5277,5285 ----
-***************
-*** 5494,5508 ****
-  nv_ctrlg(cap)
-      cmdarg_T *cap;
-  {
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)	/* toggle Selection/Visual mode */
-      {
-  	VIsual_select = !VIsual_select;
-  	showmode();
-      }
-!     else
-! #endif
-! 	if (!checkclearop(cap->oap))
-  	/* print full name if count given or :cd used */
-  	fileinfo((int)cap->count0, FALSE, TRUE);
-  }
---- 5339,5350 ----
-  nv_ctrlg(cap)
-      cmdarg_T *cap;
-  {
-      if (VIsual_active)	/* toggle Selection/Visual mode */
-      {
-  	VIsual_select = !VIsual_select;
-  	showmode();
-      }
-!     else if (!checkclearop(cap->oap))
-  	/* print full name if count given or :cd used */
-  	fileinfo((int)cap->count0, FALSE, TRUE);
-  }
-***************
-*** 5514,5527 ****
-  nv_ctrlh(cap)
-      cmdarg_T *cap;
-  {
-- #ifdef FEAT_VISUAL
-      if (VIsual_active && VIsual_select)
-      {
-  	cap->cmdchar = 'x';	/* BS key behaves like 'x' in Select mode */
-  	v_visop(cap);
-      }
-      else
-- #endif
-  	nv_left(cap);
-  }
-  
---- 5356,5367 ----
-***************
-*** 5558,5564 ****
-  nv_ctrlo(cap)
-      cmdarg_T	*cap;
-  {
-- #ifdef FEAT_VISUAL
-      if (VIsual_active && VIsual_select)
-      {
-  	VIsual_select = FALSE;
---- 5398,5403 ----
-***************
-*** 5566,5572 ****
-  	restart_VIsual_select = 2;	/* restart Select mode later */
-      }
-      else
-- #endif
-      {
-  	cap->count1 = -cap->count1;
-  	nv_pcmark(cap);
---- 5405,5410 ----
-***************
-*** 5675,5684 ****
-       */
-      if (cmdchar == ']' || cmdchar == Ctrl_RSB || cmdchar == 'K')
-      {
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active && get_visual_text(cap, &ptr, &n) == FAIL)
-  	    return;
-- #endif
-  	if (checkclearopq(cap->oap))
-  	    return;
-      }
---- 5513,5520 ----
-***************
-*** 5872,5878 ****
-      vim_free(buf);
-  }
-  
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-  /*
-   * Get visually selected text, within one line only.
-   * Returns FAIL if more than one line selected.
---- 5708,5713 ----
-***************
-*** 5917,5923 ****
-      reset_VIsual_and_resel();
-      return OK;
-  }
-- #endif
-  
-  /*
-   * CTRL-T: backwards in tag stack
---- 5752,5757 ----
-***************
-*** 6040,6050 ****
-      cmdarg_T	*cap;
-  {
-      long	n;
-! #ifdef FEAT_VISUAL
-!     int		PAST_LINE;
-! #else
-! # define PAST_LINE 0
-! #endif
-  
-      if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
-      {
---- 5874,5880 ----
-      cmdarg_T	*cap;
-  {
-      long	n;
-!     int		past_line;
-  
-      if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
-      {
-***************
-*** 6057,6081 ****
-  
-      cap->oap->motion_type = MCHAR;
-      cap->oap->inclusive = FALSE;
-! #ifdef FEAT_VISUAL
-!     PAST_LINE = (VIsual_active && *p_sel != 'o');
-  
-! # ifdef FEAT_VIRTUALEDIT
-      /*
-!      * In virtual mode, there's no such thing as "PAST_LINE", as lines are
-!      * (theoretically) infinitely long.
-       */
-      if (virtual_active())
-! 	PAST_LINE = 0;
-! # endif
-  #endif
-  
-      for (n = cap->count1; n > 0; --n)
-      {
-! 	if ((!PAST_LINE && oneright() == FAIL)
-! #ifdef FEAT_VISUAL
-! 		|| (PAST_LINE && *ml_get_cursor() == NUL)
-! #endif
-  		)
-  	{
-  	    /*
---- 5887,5907 ----
-  
-      cap->oap->motion_type = MCHAR;
-      cap->oap->inclusive = FALSE;
-!     past_line = (VIsual_active && *p_sel != 'o');
-  
-! #ifdef FEAT_VIRTUALEDIT
-      /*
-!      * In virtual edit mode, there's no such thing as "past_line", as lines
-!      * are (theoretically) infinitely long.
-       */
-      if (virtual_active())
-! 	past_line = 0;
-  #endif
-  
-      for (n = cap->count1; n > 0; --n)
-      {
-! 	if ((!past_line && oneright() == FAIL)
-! 		|| (past_line && *ml_get_cursor() == NUL)
-  		)
-  	{
-  	    /*
-***************
-*** 6123,6148 ****
-  	    }
-  	    break;
-  	}
-! #ifdef FEAT_VISUAL
-! 	else if (PAST_LINE)
-  	{
-  	    curwin->w_set_curswant = TRUE;
-! # ifdef FEAT_VIRTUALEDIT
-  	    if (virtual_active())
-  		oneright();
-  	    else
-! # endif
-  	    {
-! # ifdef FEAT_MBYTE
-  		if (has_mbyte)
-  		    curwin->w_cursor.col +=
-  					 (*mb_ptr2len)(ml_get_cursor());
-  		else
-! # endif
-  		    ++curwin->w_cursor.col;
-  	    }
-  	}
-- #endif
-      }
-  #ifdef FEAT_FOLDING
-      if (n != cap->count1 && (fdo_flags & FDO_HOR) && KeyTyped
---- 5949,5972 ----
-  	    }
-  	    break;
-  	}
-! 	else if (past_line)
-  	{
-  	    curwin->w_set_curswant = TRUE;
-! #ifdef FEAT_VIRTUALEDIT
-  	    if (virtual_active())
-  		oneright();
-  	    else
-! #endif
-  	    {
-! #ifdef FEAT_MBYTE
-  		if (has_mbyte)
-  		    curwin->w_cursor.col +=
-  					 (*mb_ptr2len)(ml_get_cursor());
-  		else
-! #endif
-  		    ++curwin->w_cursor.col;
-  	    }
-  	}
-      }
-  #ifdef FEAT_FOLDING
-      if (n != cap->count1 && (fdo_flags & FDO_HOR) && KeyTyped
-***************
-*** 6503,6511 ****
-  	else
-  	    curwin->w_cursor.coladd = 0;
-  #endif
-- #ifdef FEAT_VISUAL
-  	adjust_for_sel(cap);
-- #endif
-  #ifdef FEAT_FOLDING
-  	if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP)
-  	    foldOpenCursor();
---- 6327,6333 ----
-***************
-*** 6754,6760 ****
-  	    int	    dir = (cap->cmdchar == ']' && cap->nchar == 'p')
-  							 ? FORWARD : BACKWARD;
-  	    int	    regname = cap->oap->regname;
-- #ifdef FEAT_VISUAL
-  	    int	    was_visual = VIsual_active;
-  	    int	    line_count = curbuf->b_ml.ml_line_count;
-  	    pos_T   start, end;
---- 6576,6581 ----
-***************
-*** 6766,6779 ****
-  		end =  equalpos(start,VIsual) ? curwin->w_cursor : VIsual;
-  		curwin->w_cursor = (dir == BACKWARD ? start : end);
-  	    }
-- #endif
-  # ifdef FEAT_CLIPBOARD
-  	    adjust_clip_reg(&regname);
-  # endif
-  	    prep_redo_cmd(cap);
-  
-  	    do_put(regname, dir, cap->count1, PUT_FIXINDENT);
-- #ifdef FEAT_VISUAL
-  	    if (was_visual)
-  	    {
-  		VIsual = start;
---- 6587,6598 ----
-***************
-*** 6802,6808 ****
-  		    redraw_later(SOME_VALID);
-  		}
-  	    }
-- #endif
-  	}
-      }
-  
---- 6621,6626 ----
-***************
-*** 6936,6944 ****
-  #ifdef FEAT_VIRTUALEDIT
-  	    curwin->w_cursor.coladd = 0;
-  #endif
-- #ifdef FEAT_VISUAL
-  	    adjust_for_sel(cap);
-- #endif
-  	}
-      }
-  #ifdef FEAT_FOLDING
---- 6754,6760 ----
-***************
-*** 7027,7037 ****
-  nv_undo(cap)
-      cmdarg_T	*cap;
-  {
-!     if (cap->oap->op_type == OP_LOWER
-! #ifdef FEAT_VISUAL
-! 	    || VIsual_active
-! #endif
-! 	    )
-      {
-  	/* translate "<Visual>u" to "<Visual>gu" and "guu" to "gugu" */
-  	cap->cmdchar = 'g';
---- 6843,6849 ----
-  nv_undo(cap)
-      cmdarg_T	*cap;
-  {
-!     if (cap->oap->op_type == OP_LOWER || VIsual_active)
-      {
-  	/* translate "<Visual>u" to "<Visual>gu" and "guu" to "gugu" */
-  	cap->cmdchar = 'g';
-***************
-*** 7089,7095 ****
-  	return;
-      }
-  
-- #ifdef FEAT_VISUAL
-      /* Visual mode "r" */
-      if (VIsual_active)
-      {
---- 6901,6906 ----
-***************
-*** 7105,7111 ****
-  	nv_operator(cap);
-  	return;
-      }
-- #endif
-  
-  #ifdef FEAT_VIRTUALEDIT
-      /* Break tabs, etc. */
---- 6916,6921 ----
-***************
-*** 7273,7279 ****
-      }
-  }
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * 'o': Exchange start and end of Visual area.
-   * 'O': same, but in block mode exchange left and right corners.
---- 7083,7088 ----
-***************
-*** 7326,7332 ****
-  	curwin->w_set_curswant = TRUE;
-      }
-  }
-- #endif /* FEAT_VISUAL */
-  
-  /*
-   * "R" (cap->arg is FALSE) and "gR" (cap->arg is TRUE).
---- 7135,7140 ----
-***************
-*** 7335,7341 ****
-  nv_Replace(cap)
-      cmdarg_T	    *cap;
-  {
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)		/* "R" is replace lines */
-      {
-  	cap->cmdchar = 'c';
---- 7143,7148 ----
-***************
-*** 7344,7352 ****
-  	VIsual_mode = 'V';
-  	nv_operator(cap);
-      }
-!     else
-! #endif
-! 	if (!checkclearopq(cap->oap))
-      {
-  	if (!curbuf->b_p_ma)
-  	    EMSG(_(e_modifiable));
---- 7151,7157 ----
-  	VIsual_mode = 'V';
-  	nv_operator(cap);
-      }
-!     else if (!checkclearopq(cap->oap))
-      {
-  	if (!curbuf->b_p_ma)
-  	    EMSG(_(e_modifiable));
-***************
-*** 7369,7384 ****
-  nv_vreplace(cap)
-      cmdarg_T	*cap;
-  {
-- # ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	cap->cmdchar = 'r';
-  	cap->nchar = cap->extra_char;
-  	nv_replace(cap);	/* Do same as "r" in Visual mode for now */
-      }
-!     else
-! # endif
-! 	if (!checkclearopq(cap->oap))
-      {
-  	if (!curbuf->b_p_ma)
-  	    EMSG(_(e_modifiable));
---- 7174,7186 ----
-  nv_vreplace(cap)
-      cmdarg_T	*cap;
-  {
-      if (VIsual_active)
-      {
-  	cap->cmdchar = 'r';
-  	cap->nchar = cap->extra_char;
-  	nv_replace(cap);	/* Do same as "r" in Visual mode for now */
-      }
-!     else if (!checkclearopq(cap->oap))
-      {
-  	if (!curbuf->b_p_ma)
-  	    EMSG(_(e_modifiable));
-***************
-*** 7525,7531 ****
-      curwin->w_set_curswant = TRUE;
-  }
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * Handle commands that are operators in Visual mode.
-   */
---- 7327,7332 ----
-***************
-*** 7550,7556 ****
-      cap->cmdchar = *(vim_strchr(trans, cap->cmdchar) + 1);
-      nv_operator(cap);
-  }
-- #endif
-  
-  /*
-   * "s" and "S" commands.
---- 7351,7356 ----
-***************
-*** 7559,7565 ****
-  nv_subst(cap)
-      cmdarg_T	*cap;
-  {
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)	/* "vs" and "vS" are the same as "vc" */
-      {
-  	if (cap->cmdchar == 'S')
---- 7359,7364 ----
-***************
-*** 7571,7577 ****
-  	nv_operator(cap);
-      }
-      else
-- #endif
-  	nv_optrans(cap);
-  }
-  
---- 7370,7375 ----
-***************
-*** 7585,7596 ****
-      if (cap->cmdchar == K_DEL || cap->cmdchar == K_KDEL)
-  	cap->cmdchar = 'x';		/* DEL key behaves like 'x' */
-  
-- #ifdef FEAT_VISUAL
-      /* in Visual mode these commands are operators */
-      if (VIsual_active)
-  	v_visop(cap);
-      else
-- #endif
-  	nv_optrans(cap);
-  }
-  
---- 7383,7392 ----
-***************
-*** 7758,7764 ****
-  	clearopbeep(cap->oap);
-  }
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * Handle "v", "V" and "CTRL-V" commands.
-   * Also for "gh", "gH" and "g^H" commands: Always start Select mode, cap->arg
---- 7554,7559 ----
-***************
-*** 7950,7956 ****
-      }
-  }
-  
-- #endif /* FEAT_VISUAL */
-  
-  /*
-   * CTRL-W: Window commands
---- 7745,7750 ----
-***************
-*** 7975,7984 ****
-      cmdarg_T	*cap;
-  {
-      clearop(cap->oap);
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-  	end_visual_mode();		/* stop Visual mode */
-- #endif
-      do_cmdline_cmd((char_u *)"st");
-  }
-  
---- 7769,7776 ----
-***************
-*** 7990,7998 ****
-      cmdarg_T	*cap;
-  {
-      oparg_T	*oap = cap->oap;
-- #ifdef FEAT_VISUAL
-      pos_T	tpos;
-- #endif
-      int		i;
-      int		flag = FALSE;
-  
---- 7782,7788 ----
-***************
-*** 8025,8031 ****
-  	do_cmdline_cmd((char_u *)"%s//~/&");
-  	break;
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * "gv": Reselect the previous Visual area.  If Visual already active,
-       *	     exchange previous and current Visual area.
---- 7815,7820 ----
-***************
-*** 8126,8132 ****
-  	cap->arg = TRUE;
-  	nv_visual(cap);
-  	break;
-- #endif /* FEAT_VISUAL */
-  
-      /* "gn", "gN" visually select next/previous search match
-       * "gn" selects next match
---- 7915,7920 ----
-***************
-*** 8134,8142 ****
-       */
-      case 'N':
-      case 'n':
-- #ifdef FEAT_VISUAL
-  	if (!current_search(cap->count1, cap->nchar == 'n'))
-- #endif
-  	    clearopbeep(oap);
-  	break;
-  
---- 7922,7928 ----
-***************
-*** 8258,8266 ****
-  				    && vim_iswhite(ptr[curwin->w_cursor.col]))
-  		--curwin->w_cursor.col;
-  	    curwin->w_set_curswant = TRUE;
-- #ifdef FEAT_VISUAL
-  	    adjust_for_sel(cap);
-- #endif
-  	}
-  	break;
-  
---- 8044,8050 ----
-***************
-*** 8657,8667 ****
-      cmdarg_T	*cap;
-  {
-      /* In Visual mode and typing "gUU" triggers an operator */
-!     if (cap->oap->op_type == OP_UPPER
-! #ifdef FEAT_VISUAL
-! 	    || VIsual_active
-! #endif
-! 	    )
-      {
-  	/* translate "gUU" to "gUgU" */
-  	cap->cmdchar = 'g';
---- 8441,8447 ----
-      cmdarg_T	*cap;
-  {
-      /* In Visual mode and typing "gUU" triggers an operator */
-!     if (cap->oap->op_type == OP_UPPER || VIsual_active)
-      {
-  	/* translate "gUU" to "gUgU" */
-  	cap->cmdchar = 'g';
-***************
-*** 8683,8693 ****
-  nv_tilde(cap)
-      cmdarg_T	*cap;
-  {
-!     if (!p_to
-! #ifdef FEAT_VISUAL
-! 	    && !VIsual_active
-! #endif
-! 	    && cap->oap->op_type != OP_TILDE)
-  	n_swapchar(cap);
-      else
-  	nv_operator(cap);
---- 8463,8469 ----
-  nv_tilde(cap)
-      cmdarg_T	*cap;
-  {
-!     if (!p_to && !VIsual_active && cap->oap->op_type != OP_TILDE)
-  	n_swapchar(cap);
-      else
-  	nv_operator(cap);
-***************
-*** 8906,8914 ****
-  	clearopbeep(cap->oap);
-      else
-      {
-- #ifdef FEAT_VISUAL
-  	adjust_for_sel(cap);
-- #endif
-  #ifdef FEAT_FOLDING
-  	if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP)
-  	    foldOpenCursor();
---- 8682,8688 ----
-***************
-*** 8931,8939 ****
-       * - 'virtualedit' is not "all" and not "onemore".
-       */
-      if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL
-- #ifdef FEAT_VISUAL
-  		&& (!VIsual_active || *p_sel == 'o')
-- #endif
-  #ifdef FEAT_VIRTUALEDIT
-  		&& !virtual_active() && (ve_flags & VE_ONEMORE) == 0
-  #endif
---- 8705,8711 ----
-***************
-*** 8968,8974 ****
-  			       one-character line). */
-  }
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * In exclusive Visual mode, may include the last character.
-   */
---- 8740,8745 ----
-***************
-*** 8979,8989 ****
-      if (VIsual_active && cap->oap->inclusive && *p_sel == 'e'
-  	    && gchar_cursor() != NUL && lt(VIsual, curwin->w_cursor))
-      {
-! # ifdef FEAT_MBYTE
-  	if (has_mbyte)
-  	    inc_cursor();
-  	else
-! # endif
-  	    ++curwin->w_cursor.col;
-  	cap->oap->inclusive = FALSE;
-      }
---- 8750,8760 ----
-      if (VIsual_active && cap->oap->inclusive && *p_sel == 'e'
-  	    && gchar_cursor() != NUL && lt(VIsual, curwin->w_cursor))
-      {
-! #ifdef FEAT_MBYTE
-  	if (has_mbyte)
-  	    inc_cursor();
-  	else
-! #endif
-  	    ++curwin->w_cursor.col;
-  	cap->oap->inclusive = FALSE;
-      }
-***************
-*** 9044,9050 ****
-      }
-  }
-  
-- #endif
-  
-  /*
-   * "G", "gg", CTRL-END, CTRL-HOME.
---- 8815,8820 ----
-***************
-*** 9095,9107 ****
-  	if (cmdwin_type != 0)
-  	    cmdwin_result = Ctrl_C;
-  #endif
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active)
-  	{
-  	    end_visual_mode();		/* stop Visual */
-  	    redraw_curbuf_later(INVERTED);
-  	}
-- #endif
-  	/* CTRL-\ CTRL-G restarts Insert mode when 'insertmode' is set. */
-  	if (cap->nchar == Ctrl_G && p_im)
-  	    restart_edit = 'a';
---- 8865,8875 ----
-***************
-*** 9132,9140 ****
-  #ifdef FEAT_CMDWIN
-  		&& cmdwin_type == 0
-  #endif
-- #ifdef FEAT_VISUAL
-  		&& !VIsual_active
-- #endif
-  		&& no_reason)
-  	    MSG(_("Type  :quit<Enter>  to exit Vim"));
-  
---- 8900,8906 ----
-***************
-*** 9152,9158 ****
-  #endif
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	end_visual_mode();	/* stop Visual */
---- 8918,8923 ----
-***************
-*** 9160,9169 ****
-  	curwin->w_set_curswant = TRUE;
-  	redraw_curbuf_later(INVERTED);
-      }
-!     else
-! #endif
-! 	if (no_reason)
-! 	    vim_beep();
-      clearop(cap->oap);
-  
-      /* A CTRL-C is often used at the start of a menu.  When 'insertmode' is
---- 8925,8932 ----
-  	curwin->w_set_curswant = TRUE;
-  	redraw_curbuf_later(INVERTED);
-      }
-!     else if (no_reason)
-! 	vim_beep();
-      clearop(cap->oap);
-  
-      /* A CTRL-C is often used at the start of a menu.  When 'insertmode' is
-***************
-*** 9187,9206 ****
-      if (cap->cmdchar == K_INS || cap->cmdchar == K_KINS)
-  	cap->cmdchar = 'i';
-  
-- #ifdef FEAT_VISUAL
-      /* in Visual mode "A" and "I" are an operator */
-      if (VIsual_active && (cap->cmdchar == 'A' || cap->cmdchar == 'I'))
-  	v_visop(cap);
-  
-      /* in Visual mode and after an operator "a" and "i" are for text objects */
-!     else
-! #endif
-! 	if ((cap->cmdchar == 'a' || cap->cmdchar == 'i')
-! 	    && (cap->oap->op_type != OP_NOP
-! #ifdef FEAT_VISUAL
-! 		|| VIsual_active
-! #endif
-! 		))
-      {
-  #ifdef FEAT_TEXTOBJ
-  	nv_object(cap);
---- 8950,8962 ----
-      if (cap->cmdchar == K_INS || cap->cmdchar == K_KINS)
-  	cap->cmdchar = 'i';
-  
-      /* in Visual mode "A" and "I" are an operator */
-      if (VIsual_active && (cap->cmdchar == 'A' || cap->cmdchar == 'I'))
-  	v_visop(cap);
-  
-      /* in Visual mode and after an operator "a" and "i" are for text objects */
-!     else if ((cap->cmdchar == 'a' || cap->cmdchar == 'i')
-! 	    && (cap->oap->op_type != OP_NOP || VIsual_active))
-      {
-  #ifdef FEAT_TEXTOBJ
-  	nv_object(cap);
-***************
-*** 9467,9478 ****
-  nv_join(cap)
-      cmdarg_T *cap;
-  {
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)	/* join the visual lines */
-  	nv_operator(cap);
-!     else
-! #endif
-! 	if (!checkclearop(cap->oap))
-      {
-  	if (cap->count0 <= 1)
-  	    cap->count0 = 2;	    /* default for join is two lines! */
---- 9223,9231 ----
-  nv_join(cap)
-      cmdarg_T *cap;
-  {
-      if (VIsual_active)	/* join the visual lines */
-  	nv_operator(cap);
-!     else if (!checkclearop(cap->oap))
-      {
-  	if (cap->count0 <= 1)
-  	    cap->count0 = 2;	    /* default for join is two lines! */
-***************
-*** 9495,9506 ****
-  nv_put(cap)
-      cmdarg_T  *cap;
-  {
-- #ifdef FEAT_VISUAL
-      int		regname = 0;
-      void	*reg1 = NULL, *reg2 = NULL;
-      int		empty = FALSE;
-      int		was_visual = FALSE;
-- #endif
-      int		dir;
-      int		flags = 0;
-  
---- 9248,9257 ----
-***************
-*** 9526,9532 ****
-  	if (cap->cmdchar == 'g')
-  	    flags |= PUT_CURSEND;
-  
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active)
-  	{
-  	    /* Putting in Visual mode: The put text replaces the selected
---- 9277,9282 ----
-***************
-*** 9536,9549 ****
-  	     */
-  	    was_visual = TRUE;
-  	    regname = cap->oap->regname;
-! # ifdef FEAT_CLIPBOARD
-  	    adjust_clip_reg(&regname);
-! # endif
-  	   if (regname == 0 || regname == '"'
-  				     || VIM_ISDIGIT(regname) || regname == '-'
-! # ifdef FEAT_CLIPBOARD
-  		    || (clip_unnamed && (regname == '*' || regname == '+'))
-! # endif
-  
-  		    )
-  	    {
---- 9286,9299 ----
-  	     */
-  	    was_visual = TRUE;
-  	    regname = cap->oap->regname;
-! #ifdef FEAT_CLIPBOARD
-  	    adjust_clip_reg(&regname);
-! #endif
-  	   if (regname == 0 || regname == '"'
-  				     || VIM_ISDIGIT(regname) || regname == '-'
-! #ifdef FEAT_CLIPBOARD
-  		    || (clip_unnamed && (regname == '*' || regname == '+'))
-! #endif
-  
-  		    )
-  	    {
-***************
-*** 9591,9600 ****
-  	    /* May have been reset in do_put(). */
-  	    VIsual_active = TRUE;
-  	}
-- #endif
-  	do_put(cap->oap->regname, dir, cap->count1, flags);
-  
-- #ifdef FEAT_VISUAL
-  	/* If a register was saved, put it back now. */
-  	if (reg2 != NULL)
-  	    put_register(regname, reg2);
---- 9341,9348 ----
-***************
-*** 9621,9627 ****
-  		coladvance((colnr_T)MAXCOL);
-  	    }
-  	}
-- #endif
-  	auto_format(FALSE, TRUE);
-      }
-  }
---- 9369,9374 ----
-***************
-*** 9642,9652 ****
-      }
-      else
-  #endif
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)  /* switch start and end of visual */
-  	v_swap_corners(cap->cmdchar);
-      else
-- #endif
-  	n_opencmd(cap);
-  }
-  
---- 9389,9397 ----
-*** ../vim-7.4.211/src/ops.c	2014-03-19 18:57:27.730175565 +0100
---- src/ops.c	2014-03-23 15:08:16.095260447 +0100
-***************
-*** 57,65 ****
-      char_u	**y_array;	/* pointer to array of line pointers */
-      linenr_T	y_size;		/* number of lines in y_array */
-      char_u	y_type;		/* MLINE, MCHAR or MBLOCK */
-- #ifdef FEAT_VISUAL
-      colnr_T	y_width;	/* only set if y_type == MBLOCK */
-- #endif
-  } y_regs[NUM_REGISTERS];
-  
-  static struct yankreg	*y_current;	    /* ptr to current yankreg */
---- 57,63 ----
-***************
-*** 107,123 ****
-  static int	yank_copy_line __ARGS((struct block_def *bd, long y_idx));
-  #ifdef FEAT_CLIPBOARD
-  static void	copy_yank_reg __ARGS((struct yankreg *reg));
-- # if defined(FEAT_VISUAL) || defined(FEAT_EVAL)
-  static void	may_set_selection __ARGS((void));
-- # endif
-  #endif
-  static void	dis_msg __ARGS((char_u *p, int skip_esc));
-  #if defined(FEAT_COMMENTS) || defined(PROTO)
-  static char_u	*skip_comment __ARGS((char_u *line, int process, int include_space, int *is_comment));
-  #endif
-- #ifdef FEAT_VISUAL
-  static void	block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
-- #endif
-  #if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
-  static void	str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen));
-  #endif
---- 105,117 ----
-***************
-*** 187,193 ****
-      return i;
-  }
-  
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-  /*
-   * Return TRUE if operator "op" always works on whole lines.
-   */
---- 181,186 ----
-***************
-*** 197,203 ****
-  {
-      return opchars[op][2];
-  }
-- #endif
-  
-  /*
-   * Get first operator command character.
---- 190,195 ----
-***************
-*** 232,249 ****
-      long	    i;
-      int		    first_char;
-      char_u	    *s;
-- #ifdef FEAT_VISUAL
-      int		    block_col = 0;
-- #endif
-  
-      if (u_save((linenr_T)(oap->start.lnum - 1),
-  				       (linenr_T)(oap->end.lnum + 1)) == FAIL)
-  	return;
-  
-- #ifdef FEAT_VISUAL
-      if (oap->block_mode)
-  	block_col = curwin->w_cursor.col;
-- #endif
-  
-      for (i = oap->line_count; --i >= 0; )
-      {
---- 224,237 ----
-***************
-*** 272,286 ****
-      foldOpenCursor();
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      if (oap->block_mode)
-      {
-  	curwin->w_cursor.lnum = oap->start.lnum;
-  	curwin->w_cursor.col = block_col;
-      }
-!     else
-! #endif
-! 	if (curs_top)	    /* put cursor on first line, for ">>" */
-      {
-  	curwin->w_cursor.lnum = oap->start.lnum;
-  	beginline(BL_SOL | BL_FIX);   /* shift_line() may have set cursor.col */
---- 260,271 ----
-      foldOpenCursor();
-  #endif
-  
-      if (oap->block_mode)
-      {
-  	curwin->w_cursor.lnum = oap->start.lnum;
-  	curwin->w_cursor.col = block_col;
-      }
-!     else if (curs_top)	    /* put cursor on first line, for ">>" */
-      {
-  	curwin->w_cursor.lnum = oap->start.lnum;
-  	beginline(BL_SOL | BL_FIX);   /* shift_line() may have set cursor.col */
-***************
-*** 733,746 ****
-       * there is no change still need to remove the Visual highlighting. */
-      if (last_changed != 0)
-  	changed_lines(first_changed, 0,
-- #ifdef FEAT_VISUAL
-  		oap->is_VIsual ? start_lnum + oap->line_count :
-- #endif
-  		last_changed + 1, 0L);
-- #ifdef FEAT_VISUAL
-      else if (oap->is_VIsual)
-  	redraw_curbuf_later(INVERTED);
-- #endif
-  
-      if (oap->line_count > p_report)
-      {
---- 718,727 ----
-***************
-*** 948,954 ****
-  }
-  #endif
-  
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-  /*
-   * Obtain the contents of a "normal" register. The register is made empty.
-   * The returned pointer has allocated memory, use put_register() later.
---- 929,934 ----
-***************
-*** 1016,1025 ****
-      *y_current = *(struct yankreg *)reg;
-      vim_free(reg);
-  
-! # ifdef FEAT_CLIPBOARD
-      /* Send text written to clipboard register to the clipboard. */
-      may_set_selection();
-! # endif
-  }
-  
-      void
---- 996,1005 ----
-      *y_current = *(struct yankreg *)reg;
-      vim_free(reg);
-  
-! #ifdef FEAT_CLIPBOARD
-      /* Send text written to clipboard register to the clipboard. */
-      may_set_selection();
-! #endif
-  }
-  
-      void
-***************
-*** 1034,1040 ****
-      vim_free(reg);
-      *y_current = tmp;
-  }
-- #endif
-  
-  #if defined(FEAT_MOUSE) || defined(PROTO)
-  /*
---- 1014,1019 ----
-***************
-*** 1634,1643 ****
-      int			n;
-      linenr_T		lnum;
-      char_u		*ptr;
-- #ifdef FEAT_VISUAL
-      char_u		*newp, *oldp;
-      struct block_def	bd;
-- #endif
-      linenr_T		old_lcount = curbuf->b_ml.ml_line_count;
-      int			did_yank = FALSE;
-      int			orig_regname = oap->regname;
---- 1613,1620 ----
-***************
-*** 1670,1679 ****
-       * delete linewise.  Don't do this for the change command or Visual mode.
-       */
-      if (       oap->motion_type == MCHAR
-- #ifdef FEAT_VISUAL
-  	    && !oap->is_VIsual
-  	    && !oap->block_mode
-- #endif
-  	    && oap->line_count > 1
-  	    && oap->motion_force == NUL
-  	    && oap->op_type == OP_DELETE)
---- 1647,1654 ----
-***************
-*** 1787,1793 ****
-  	}
-      }
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * block mode delete
-       */
---- 1762,1767 ----
-***************
-*** 1838,1846 ****
-  						       oap->end.lnum + 1, 0L);
-  	oap->line_count = 0;	    /* no lines deleted */
-      }
-!     else
-! #endif
-! 	if (oap->motion_type == MLINE)
-      {
-  	if (oap->op_type == OP_CHANGE)
-  	{
---- 1812,1818 ----
-  						       oap->end.lnum + 1, 0L);
-  	oap->line_count = 0;	    /* no lines deleted */
-      }
-!     else if (oap->motion_type == MLINE)
-      {
-  	if (oap->op_type == OP_CHANGE)
-  	{
-***************
-*** 1924,1936 ****
-  		return FAIL;
-  
-  	    /* if 'cpoptions' contains '$', display '$' at end of change */
-! 	    if (	   vim_strchr(p_cpo, CPO_DOLLAR) != NULL
-  		    && oap->op_type == OP_CHANGE
-  		    && oap->end.lnum == curwin->w_cursor.lnum
-! #ifdef FEAT_VISUAL
-! 		    && !oap->is_VIsual
-! #endif
-! 		    )
-  		display_dollar(oap->end.col - !oap->inclusive);
-  
-  	    n = oap->end.col - oap->start.col + 1 - !oap->inclusive;
---- 1896,1905 ----
-  		return FAIL;
-  
-  	    /* if 'cpoptions' contains '$', display '$' at end of change */
-! 	    if (       vim_strchr(p_cpo, CPO_DOLLAR) != NULL
-  		    && oap->op_type == OP_CHANGE
-  		    && oap->end.lnum == curwin->w_cursor.lnum
-! 		    && !oap->is_VIsual)
-  		display_dollar(oap->end.col - !oap->inclusive);
-  
-  	    n = oap->end.col - oap->start.col + 1 - !oap->inclusive;
-***************
-*** 1967,1977 ****
-  	    }
-  	    else
-  	    {
-! 		(void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
-! #ifdef FEAT_VISUAL
-! 				    && !oap->is_VIsual
-! #endif
-! 							);
-  	    }
-  	}
-  	else				/* delete characters between lines */
---- 1936,1943 ----
-  	    }
-  	    else
-  	    {
-! 		(void)del_bytes((long)n, !virtual_op,
-! 				oap->op_type == OP_DELETE && !oap->is_VIsual);
-  	    }
-  	}
-  	else				/* delete characters between lines */
-***************
-*** 2008,2018 ****
-  	    {
-  		/* delete from start of line until op_end */
-  		curwin->w_cursor.col = 0;
-! 		(void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
-! #ifdef FEAT_VISUAL
-! 					&& !oap->is_VIsual
-! #endif
-! 							    );
-  		curwin->w_cursor = curpos;	/* restore curwin->w_cursor */
-  	    }
-  	    if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
---- 1974,1981 ----
-  	    {
-  		/* delete from start of line until op_end */
-  		curwin->w_cursor.col = 0;
-! 		(void)del_bytes((long)n, !virtual_op,
-! 				oap->op_type == OP_DELETE && !oap->is_VIsual);
-  		curwin->w_cursor = curpos;	/* restore curwin->w_cursor */
-  	    }
-  	    if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
-***************
-*** 2025,2038 ****
-  #ifdef FEAT_VIRTUALEDIT
-  setmarks:
-  #endif
-- #ifdef FEAT_VISUAL
-      if (oap->block_mode)
-      {
-  	curbuf->b_op_end.lnum = oap->end.lnum;
-  	curbuf->b_op_end.col = oap->start.col;
-      }
-      else
-- #endif
-  	curbuf->b_op_end = oap->start;
-      curbuf->b_op_start = oap->start;
-  
---- 1988,1999 ----
-***************
-*** 2318,2326 ****
-      oparg_T	*oap;
-  {
-      pos_T		pos;
-- #ifdef FEAT_VISUAL
-      struct block_def	bd;
-- #endif
-      int			did_change = FALSE;
-  
-      if (u_save((linenr_T)(oap->start.lnum - 1),
---- 2279,2285 ----
-***************
-*** 2328,2334 ****
-  	return;
-  
-      pos = oap->start;
-- #ifdef FEAT_VISUAL
-      if (oap->block_mode)		    /* Visual block mode */
-      {
-  	for (; pos.lnum <= oap->end.lnum; ++pos.lnum)
---- 2287,2292 ----
-***************
-*** 2340,2346 ****
-  	    one_change = swapchars(oap->op_type, &pos, bd.textlen);
-  	    did_change |= one_change;
-  
-! # ifdef FEAT_NETBEANS_INTG
-  	    if (netbeans_active() && one_change)
-  	    {
-  		char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
---- 2298,2304 ----
-  	    one_change = swapchars(oap->op_type, &pos, bd.textlen);
-  	    did_change |= one_change;
-  
-! #ifdef FEAT_NETBEANS_INTG
-  	    if (netbeans_active() && one_change)
-  	    {
-  		char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
-***************
-*** 2350,2362 ****
-  		netbeans_inserted(curbuf, pos.lnum, bd.textcol,
-  						&ptr[bd.textcol], bd.textlen);
-  	    }
-! # endif
-  	}
-  	if (did_change)
-  	    changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L);
-      }
-      else				    /* not block mode */
-- #endif
-      {
-  	if (oap->motion_type == MLINE)
-  	{
---- 2308,2319 ----
-  		netbeans_inserted(curbuf, pos.lnum, bd.textcol,
-  						&ptr[bd.textcol], bd.textlen);
-  	    }
-! #endif
-  	}
-  	if (did_change)
-  	    changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L);
-      }
-      else				    /* not block mode */
-      {
-  	if (oap->motion_type == MLINE)
-  	{
-***************
-*** 2412,2422 ****
-  	}
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (!did_change && oap->is_VIsual)
-  	/* No change: need to remove the Visual selection */
-  	redraw_curbuf_later(INVERTED);
-- #endif
-  
-      /*
-       * Set '[ and '] marks.
---- 2369,2377 ----
-***************
-*** 3018,3027 ****
-      if (       oap->motion_type == MCHAR
-  	    && oap->start.col == 0
-  	    && !oap->inclusive
-- #ifdef FEAT_VISUAL
-  	    && (!oap->is_VIsual || *p_sel == 'o')
-  	    && !oap->block_mode
-- #endif
-  	    && oap->end.col == 0
-  	    && yanklines > 1)
-      {
---- 2973,2980 ----
-***************
-*** 3032,3040 ****
-  
-      y_current->y_size = yanklines;
-      y_current->y_type = yanktype;   /* set the yank register type */
-- #ifdef FEAT_VISUAL
-      y_current->y_width = 0;
-- #endif
-      y_current->y_array = (char_u **)lalloc_clear((long_u)(sizeof(char_u *) *
-  							    yanklines), TRUE);
-  
---- 2985,2991 ----
-***************
-*** 3047,3053 ****
-      y_idx = 0;
-      lnum = oap->start.lnum;
-  
-- #ifdef FEAT_VISUAL
-      if (oap->block_mode)
-      {
-  	/* Visual block mode */
---- 2998,3003 ----
-***************
-*** 3057,3075 ****
-  	if (curwin->w_curswant == MAXCOL && y_current->y_width > 0)
-  	    y_current->y_width--;
-      }
-- #endif
-  
-      for ( ; lnum <= yankendlnum; lnum++, y_idx++)
-      {
-  	switch (y_current->y_type)
-  	{
-- #ifdef FEAT_VISUAL
-  	    case MBLOCK:
-  		block_prep(oap, &bd, lnum, FALSE);
-  		if (yank_copy_line(&bd, y_idx) == FAIL)
-  		    goto fail;
-  		break;
-- #endif
-  
-  	    case MLINE:
-  		if ((y_current->y_array[y_idx] =
---- 3007,3022 ----
-***************
-*** 3206,3214 ****
-      if (mess)			/* Display message about yank? */
-      {
-  	if (yanktype == MCHAR
-- #ifdef FEAT_VISUAL
-  		&& !oap->block_mode
-- #endif
-  		&& yanklines == 1)
-  	    yanklines = 0;
-  	/* Some versions of Vi use ">=" here, some don't...  */
---- 3153,3159 ----
-***************
-*** 3218,3234 ****
-  	    update_topline_redraw();
-  	    if (yanklines == 1)
-  	    {
-- #ifdef FEAT_VISUAL
-  		if (oap->block_mode)
-  		    MSG(_("block of 1 line yanked"));
-  		else
-- #endif
-  		    MSG(_("1 line yanked"));
-  	    }
-- #ifdef FEAT_VISUAL
-  	    else if (oap->block_mode)
-  		smsg((char_u *)_("block of %ld lines yanked"), yanklines);
-- #endif
-  	    else
-  		smsg((char_u *)_("%ld lines yanked"), yanklines);
-  	}
---- 3163,3175 ----
-***************
-*** 3239,3249 ****
-       */
-      curbuf->b_op_start = oap->start;
-      curbuf->b_op_end = oap->end;
-!     if (yanktype == MLINE
-! #ifdef FEAT_VISUAL
-! 		&& !oap->block_mode
-! #endif
-!        )
-      {
-  	curbuf->b_op_start.col = 0;
-  	curbuf->b_op_end.col = MAXCOL;
---- 3180,3186 ----
-       */
-      curbuf->b_op_start = oap->start;
-      curbuf->b_op_end = oap->end;
-!     if (yanktype == MLINE && !oap->block_mode)
-      {
-  	curbuf->b_op_start.col = 0;
-  	curbuf->b_op_end.col = MAXCOL;
-***************
-*** 3380,3386 ****
-      long	i;			/* index in y_array[] */
-      int		y_type;
-      long	y_size;
-- #ifdef FEAT_VISUAL
-      int		oldlen;
-      long	y_width = 0;
-      colnr_T	vcol;
---- 3317,3322 ----
-***************
-*** 3388,3394 ****
-      int		incr = 0;
-      long	j;
-      struct block_def bd;
-- #endif
-      char_u	**y_array = NULL;
-      long	nr_lines = 0;
-      pos_T	new_cursor;
---- 3324,3329 ----
-***************
-*** 3497,3510 ****
-  	get_yank_register(regname, FALSE);
-  
-  	y_type = y_current->y_type;
-- #ifdef FEAT_VISUAL
-  	y_width = y_current->y_width;
-- #endif
-  	y_size = y_current->y_size;
-  	y_array = y_current->y_array;
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (y_type == MLINE)
-      {
-  	if (flags & PUT_LINE_SPLIT)
---- 3432,3442 ----
-***************
-*** 3535,3541 ****
-  	curbuf->b_op_start = curwin->w_cursor;	/* default for '[ mark */
-  	curbuf->b_op_end = curwin->w_cursor;	/* default for '] mark */
-      }
-- #endif
-  
-      if (flags & PUT_LINE)	/* :put command or "p" in Visual line mode. */
-  	y_type = MLINE;
---- 3467,3472 ----
-***************
-*** 3547,3553 ****
-  	goto end;
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (y_type == MBLOCK)
-      {
-  	lnum = curwin->w_cursor.lnum + y_size + 1;
---- 3478,3483 ----
-***************
-*** 3556,3564 ****
-  	if (u_save(curwin->w_cursor.lnum - 1, lnum) == FAIL)
-  	    goto end;
-      }
-!     else
-! #endif
-! 	if (y_type == MLINE)
-      {
-  	lnum = curwin->w_cursor.lnum;
-  #ifdef FEAT_FOLDING
---- 3486,3492 ----
-  	if (u_save(curwin->w_cursor.lnum - 1, lnum) == FAIL)
-  	    goto end;
-      }
-!     else if (y_type == MLINE)
-      {
-  	lnum = curwin->w_cursor.lnum;
-  #ifdef FEAT_FOLDING
-***************
-*** 3610,3616 ****
-      lnum = curwin->w_cursor.lnum;
-      col = curwin->w_cursor.col;
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * Block mode
-       */
---- 3538,3543 ----
-***************
-*** 3792,3798 ****
-  	    curwin->w_cursor.lnum = lnum;
-      }
-      else
-- #endif
-      {
-  	/*
-  	 * Character or Line mode
---- 3719,3724 ----
-***************
-*** 3866,3882 ****
-  			curwin->w_cursor.col += (colnr_T)(totlen - 1);
-  		    }
-  		}
-- #ifdef FEAT_VISUAL
-  		if (VIsual_active)
-  		    lnum++;
-! #endif
-! 	    } while (
-! #ifdef FEAT_VISUAL
-! 		    VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
-! #else
-! 		    FALSE /* stop after 1 paste */
-! #endif
-! 		    );
-  
-  	    curbuf->b_op_end = curwin->w_cursor;
-  	    /* For "CTRL-O p" in Insert mode, put cursor after last char */
---- 3792,3800 ----
-  			curwin->w_cursor.col += (colnr_T)(totlen - 1);
-  		    }
-  		}
-  		if (VIsual_active)
-  		    lnum++;
-! 	    } while (VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum);
-  
-  	    curbuf->b_op_end = curwin->w_cursor;
-  	    /* For "CTRL-O p" in Insert mode, put cursor after last char */
-***************
-*** 4038,4046 ****
-      if (regname == '=')
-  	vim_free(y_array);
-  
-- #ifdef FEAT_VISUAL
-      VIsual_active = FALSE;
-- #endif
-  
-      /* If the cursor is past the end of the line put it at the end. */
-      adjust_cursor_eol();
---- 3956,3962 ----
-***************
-*** 4729,4739 ****
-  	return;
-      curwin->w_cursor = oap->start;
-  
-- #ifdef FEAT_VISUAL
-      if (oap->is_VIsual)
-  	/* When there is no change: need to remove the Visual selection */
-  	redraw_curbuf_later(INVERTED);
-- #endif
-  
-      /* Set '[ mark at the start of the formatted area */
-      curbuf->b_op_start = oap->start;
---- 4645,4653 ----
-***************
-*** 4765,4771 ****
-  	saved_cursor.lnum = 0;
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (oap->is_VIsual)
-      {
-  	win_T	*wp;
---- 4679,4684 ----
-***************
-*** 4783,4789 ****
-  	    }
-  	}
-      }
-- #endif
-  }
-  
-  #if defined(FEAT_EVAL) || defined(PROTO)
---- 4696,4701 ----
-***************
-*** 4794,4804 ****
-  op_formatexpr(oap)
-      oparg_T	*oap;
-  {
-- # ifdef FEAT_VISUAL
-      if (oap->is_VIsual)
-  	/* When there is no change: need to remove the Visual selection */
-  	redraw_curbuf_later(INVERTED);
-- # endif
-  
-      if (fex_format(oap->start.lnum, oap->line_count, NUL) != 0)
-  	/* As documented: when 'formatexpr' returns non-zero fall back to
---- 4706,4714 ----
-***************
-*** 5238,5244 ****
-      return FALSE;
-  }
-  
-- #ifdef FEAT_VISUAL
-  /*
-   * prepare a few things for block mode yank/delete/tilde
-   *
---- 5148,5153 ----
-***************
-*** 5397,5403 ****
-      bdp->textcol = (colnr_T) (pstart - line);
-      bdp->textstart = pstart;
-  }
-- #endif /* FEAT_VISUAL */
-  
-  #ifdef FEAT_RIGHTLEFT
-  static void reverse_line __ARGS((char_u *s));
---- 5306,5311 ----
-***************
-*** 5748,5766 ****
-  	str = skipwhite(skiptowhite(str));
-  	if (STRNCMP(str, "CHAR", 4) == 0)
-  	    y_current->y_type = MCHAR;
-- #ifdef FEAT_VISUAL
-  	else if (STRNCMP(str, "BLOCK", 5) == 0)
-  	    y_current->y_type = MBLOCK;
-- #endif
-  	else
-  	    y_current->y_type = MLINE;
-  	/* get the block width; if it's missing we get a zero, which is OK */
-  	str = skipwhite(skiptowhite(str));
-- #ifdef FEAT_VISUAL
-  	y_current->y_width = getdigits(&str);
-- #else
-- 	(void)getdigits(&str);
-- #endif
-      }
-  
-      while (!(eof = viminfo_readline(virp))
---- 5656,5668 ----
-***************
-*** 5868,5878 ****
-  	    case MCHAR:
-  		type = (char_u *)"CHAR";
-  		break;
-- #ifdef FEAT_VISUAL
-  	    case MBLOCK:
-  		type = (char_u *)"BLOCK";
-  		break;
-- #endif
-  	    default:
-  		sprintf((char *)IObuff, _("E574: Unknown register type %d"),
-  							    y_regs[i].y_type);
---- 5770,5778 ----
-***************
-*** 5886,5898 ****
-  	fprintf(fp, "\"%c", c);
-  	if (c == execreg_lastc)
-  	    fprintf(fp, "@");
-! 	fprintf(fp, "\t%s\t%d\n", type,
-! #ifdef FEAT_VISUAL
-! 		    (int)y_regs[i].y_width
-! #else
-! 		    0
-! #endif
-! 		    );
-  
-  	/* If max_num_lines < 0, then we save ALL the lines in the register */
-  	if (max_num_lines > 0 && num_lines > max_num_lines)
---- 5786,5792 ----
-  	fprintf(fp, "\"%c", c);
-  	if (c == execreg_lastc)
-  	    fprintf(fp, "@");
-! 	fprintf(fp, "\t%s\t%d\n", type, (int)y_regs[i].y_width);
-  
-  	/* If max_num_lines < 0, then we save ALL the lines in the register */
-  	if (max_num_lines > 0 && num_lines > max_num_lines)
-***************
-*** 6039,6048 ****
-  {
-      struct yankreg *old_y_previous, *old_y_current;
-      pos_T	old_cursor;
-- #ifdef FEAT_VISUAL
-      pos_T	old_visual;
-      int		old_visual_mode;
-- #endif
-      colnr_T	old_curswant;
-      int		old_set_curswant;
-      pos_T	old_op_start, old_op_end;
---- 5933,5940 ----
-***************
-*** 6063,6072 ****
-  	old_set_curswant = curwin->w_set_curswant;
-  	old_op_start = curbuf->b_op_start;
-  	old_op_end = curbuf->b_op_end;
-- #ifdef FEAT_VISUAL
-  	old_visual = VIsual;
-  	old_visual_mode = VIsual_mode;
-- #endif
-  	clear_oparg(&oa);
-  	oa.regname = (cbd == &clip_plus ? '+' : '*');
-  	oa.op_type = OP_YANK;
---- 5955,5962 ----
-***************
-*** 6084,6093 ****
-  	curwin->w_set_curswant = old_set_curswant;
-  	curbuf->b_op_start = old_op_start;
-  	curbuf->b_op_end = old_op_end;
-- #ifdef FEAT_VISUAL
-  	VIsual = old_visual;
-  	VIsual_mode = old_visual_mode;
-- #endif
-      }
-      else
-      {
---- 5974,5981 ----
-***************
-*** 6190,6196 ****
-  }
-  
-  
-- # if defined(FEAT_VISUAL) || defined(FEAT_EVAL)
-  /*
-   * If we have written to a clipboard register, send the text to the clipboard.
-   */
---- 6078,6083 ----
-***************
-*** 6208,6214 ****
-  	clip_gen_set_selection(&clip_plus);
-      }
-  }
-- # endif
-  
-  #endif /* FEAT_CLIPBOARD || PROTO */
-  
---- 6095,6100 ----
-***************
-*** 6273,6282 ****
-  
-      if (y_current->y_array != NULL)
-      {
-- #ifdef FEAT_VISUAL
-  	if (reglen != NULL && y_current->y_type == MBLOCK)
-  	    *reglen = y_current->y_width;
-- #endif
-  	return y_current->y_type;
-      }
-      return MAUTO;
---- 6159,6166 ----
-***************
-*** 6454,6464 ****
-      get_yank_register(name, TRUE);
-      if (!y_append && !must_append)
-  	free_yank_all();
-- #ifndef FEAT_VISUAL
--     /* Just in case - make sure we don't use MBLOCK */
--     if (yank_type == MBLOCK)
-- 	yank_type = MAUTO;
-- #endif
-      str_to_reg(y_current, yank_type, str, len, block_len);
-  
-  # ifdef FEAT_CLIPBOARD
---- 6338,6343 ----
-***************
-*** 6496,6504 ****
-      int		append = FALSE;		/* append to last line in register */
-      char_u	*s;
-      char_u	**pp;
-- #ifdef FEAT_VISUAL
-      long	maxlen;
-- #endif
-  
-      if (y_ptr->y_array == NULL)		/* NULL means empty register */
-  	y_ptr->y_size = 0;
---- 6375,6381 ----
-***************
-*** 6539,6547 ****
-  	pp[lnum] = y_ptr->y_array[lnum];
-      vim_free(y_ptr->y_array);
-      y_ptr->y_array = pp;
-- #ifdef FEAT_VISUAL
-      maxlen = 0;
-- #endif
-  
-      /*
-       * Find the end of each line and save it into the array.
---- 6416,6422 ----
-***************
-*** 6552,6561 ****
-  	    if (str[i] == '\n')
-  		break;
-  	i -= start;			/* i is now length of line */
-- #ifdef FEAT_VISUAL
-  	if (i > maxlen)
-  	    maxlen = i;
-- #endif
-  	if (append)
-  	{
-  	    --lnum;
---- 6427,6434 ----
-***************
-*** 6585,6596 ****
-      }
-      y_ptr->y_type = type;
-      y_ptr->y_size = lnum;
-- # ifdef FEAT_VISUAL
-      if (type == MBLOCK)
-  	y_ptr->y_width = (blocklen < 0 ? maxlen - 1 : blocklen);
-      else
-  	y_ptr->y_width = 0;
-- # endif
-  }
-  #endif /* FEAT_CLIPBOARD || FEAT_EVAL || PROTO */
-  
---- 6458,6467 ----
-***************
-*** 6684,6695 ****
-      long	word_count_cursor = 0;
-      int		eol_size;
-      long	last_check = 100000L;
-- #ifdef FEAT_VISUAL
-      long	line_count_selected = 0;
-      pos_T	min_pos, max_pos;
-      oparg_T	oparg;
-      struct block_def	bd;
-- #endif
-  
-      /*
-       * Compute the length of the file in characters.
---- 6555,6564 ----
-***************
-*** 6705,6711 ****
-  	else
-  	    eol_size = 1;
-  
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active)
-  	{
-  	    if (lt(VIsual, curwin->w_cursor))
---- 6574,6579 ----
-***************
-*** 6749,6755 ****
-  	    }
-  	    line_count_selected = max_pos.lnum - min_pos.lnum + 1;
-  	}
-- #endif
-  
-  	for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
-  	{
---- 6617,6622 ----
-***************
-*** 6762,6768 ****
-  		last_check = byte_count + 100000L;
-  	    }
-  
-- #ifdef FEAT_VISUAL
-  	    /* Do extra processing for VIsual mode. */
-  	    if (VIsual_active
-  		    && lnum >= min_pos.lnum && lnum <= max_pos.lnum)
---- 6629,6634 ----
-***************
-*** 6773,6785 ****
-  		switch (VIsual_mode)
-  		{
-  		    case Ctrl_V:
-! # ifdef FEAT_VIRTUALEDIT
-  			virtual_op = virtual_active();
-! # endif
-  			block_prep(&oparg, &bd, lnum, 0);
-! # ifdef FEAT_VIRTUALEDIT
-  			virtual_op = MAYBE;
-! # endif
-  			s = bd.textstart;
-  			len = (long)bd.textlen;
-  			break;
---- 6639,6651 ----
-  		switch (VIsual_mode)
-  		{
-  		    case Ctrl_V:
-! #ifdef FEAT_VIRTUALEDIT
-  			virtual_op = virtual_active();
-! #endif
-  			block_prep(&oparg, &bd, lnum, 0);
-! #ifdef FEAT_VIRTUALEDIT
-  			virtual_op = MAYBE;
-! #endif
-  			s = bd.textstart;
-  			len = (long)bd.textlen;
-  			break;
-***************
-*** 6811,6817 ****
-  		}
-  	    }
-  	    else
-- #endif
-  	    {
-  		/* In non-visual mode, check for the line the cursor is on */
-  		if (lnum == curwin->w_cursor.lnum)
---- 6677,6682 ----
-***************
-*** 6833,6839 ****
-  	if (!curbuf->b_p_eol && curbuf->b_p_bin)
-  	    byte_count -= eol_size;
-  
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active)
-  	{
-  	    if (VIsual_mode == Ctrl_V && curwin->w_curswant < MAXCOL)
---- 6698,6703 ----
-***************
-*** 6864,6870 ****
-  			byte_count_cursor, byte_count);
-  	}
-  	else
-- #endif
-  	{
-  	    p = ml_get_curline();
-  	    validate_virtcol();
---- 6728,6733 ----
-*** ../vim-7.4.211/src/option.c	2014-03-12 18:55:52.100906804 +0100
---- src/option.c	2014-03-23 13:28:12.359168452 +0100
-***************
-*** 1629,1639 ****
-  #endif
-  			    SCRIPTID_INIT},
-      {"keymodel",    "km",   P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
-- #ifdef FEAT_VISUAL
-  			    (char_u *)&p_km, PV_NONE,
-- #else
-- 			    (char_u *)NULL, PV_NONE,
-- #endif
-  			    {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
-      {"keywordprg",  "kp",   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
-  			    (char_u *)&p_kp, PV_KP,
---- 1629,1635 ----
-***************
-*** 2190,2208 ****
-  			    (char_u *)&p_secure, PV_NONE,
-  			    {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-      {"selection",   "sel",  P_STRING|P_VI_DEF,
-- #ifdef FEAT_VISUAL
-  			    (char_u *)&p_sel, PV_NONE,
-- #else
-- 			    (char_u *)NULL, PV_NONE,
-- #endif
-  			    {(char_u *)"inclusive", (char_u *)0L}
-  			    SCRIPTID_INIT},
-      {"selectmode",  "slm",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
-- #ifdef FEAT_VISUAL
-  			    (char_u *)&p_slm, PV_NONE,
-- #else
-- 			    (char_u *)NULL, PV_NONE,
-- #endif
-  			    {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
-      {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
-  #ifdef FEAT_SESSION
---- 2186,2196 ----
-***************
-*** 2979,2991 ****
-  static char *(p_wak_values[]) = {"yes", "menu", "no", NULL};
-  #endif
-  static char *(p_mousem_values[]) = {"extend", "popup", "popup_setpos", "mac", NULL};
-- #ifdef FEAT_VISUAL
-  static char *(p_sel_values[]) = {"inclusive", "exclusive", "old", NULL};
-  static char *(p_slm_values[]) = {"mouse", "key", "cmd", NULL};
-- #endif
-- #ifdef FEAT_VISUAL
-  static char *(p_km_values[]) = {"startsel", "stopsel", NULL};
-- #endif
-  #ifdef FEAT_BROWSE
-  static char *(p_bsdir_values[]) = {"current", "last", "buffer", NULL};
-  #endif
---- 2967,2975 ----
-***************
-*** 6578,6584 ****
-      }
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      /* 'selection' */
-      else if (varp == &p_sel)
-      {
---- 6562,6567 ----
-***************
-*** 6593,6599 ****
-  	if (check_opt_strings(p_slm, p_slm_values, TRUE) != OK)
-  	    errmsg = e_invarg;
-      }
-- #endif
-  
-  #ifdef FEAT_BROWSE
-      /* 'browsedir' */
---- 6576,6581 ----
-***************
-*** 6605,6611 ****
-      }
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      /* 'keymodel' */
-      else if (varp == &p_km)
-      {
---- 6587,6592 ----
-***************
-*** 6617,6623 ****
-  	    km_startsel = (vim_strchr(p_km, 'a') != NULL);
-  	}
-      }
-- #endif
-  
-      /* 'mousemodel' */
-      else if (varp == &p_mousem)
---- 6598,6603 ----
-*** ../vim-7.4.211/src/os_msdos.c	2013-05-06 04:06:04.000000000 +0200
---- src/os_msdos.c	2014-03-23 13:28:24.855168644 +0100
-***************
-*** 2270,2278 ****
-  		default:
-  		case 'L':	type = MLINE;	break;
-  		case 'C':	type = MCHAR;	break;
-- #ifdef FEAT_VISUAL
-  		case 'B':	type = MBLOCK;	break;
-- #endif
-  	    }
-  	}
-  
---- 2270,2276 ----
-***************
-*** 2799,2807 ****
-  	    default:
-  	    case MLINE:	    clip_sel_type = "L";	break;
-  	    case MCHAR:	    clip_sel_type = "C";	break;
-- #ifdef FEAT_VISUAL
-  	    case MBLOCK:    clip_sel_type = "B";	break;
-- #endif
-  	}
-  
-  	movedata(
---- 2797,2803 ----
-*** ../vim-7.4.211/src/os_qnx.c	2011-09-21 19:48:08.000000000 +0200
---- src/os_qnx.c	2014-03-23 13:28:38.815168858 +0100
-***************
-*** 78,86 ****
-  		default: /* fallthrough to line type */
-  		case 'L': type = MLINE; break;
-  		case 'C': type = MCHAR; break;
-- #ifdef FEAT_VISUAL
-  		case 'B': type = MBLOCK; break;
-- #endif
-  	    }
-  	    is_type_set = TRUE;
-  	}
---- 78,84 ----
-***************
-*** 143,151 ****
-  		default: /* fallthrough to MLINE */
-  		case MLINE:	*vim_clip = 'L'; break;
-  		case MCHAR:	*vim_clip = 'C'; break;
-- #ifdef FEAT_VISUAL
-  		case MBLOCK:	*vim_clip = 'B'; break;
-- #endif
-  	    }
-  
-  	    vim_strncpy(text_clip, str, len);
---- 141,147 ----
-*** ../vim-7.4.211/src/quickfix.c	2014-03-12 19:41:37.096948866 +0100
---- src/quickfix.c	2014-03-23 13:28:50.907169043 +0100
-***************
-*** 2347,2355 ****
-      else
-  	height = QF_WINHEIGHT;
-  
-- #ifdef FEAT_VISUAL
-      reset_VIsual_and_resel();			/* stop Visual mode */
-- #endif
-  #ifdef FEAT_GUI
-      need_mouse_correct = TRUE;
-  #endif
---- 2347,2353 ----
-*** ../vim-7.4.211/src/regexp.c	2013-11-21 17:12:55.000000000 +0100
---- src/regexp.c	2014-03-23 13:29:14.495169404 +0100
-***************
-*** 4179,4187 ****
-  			    - (*mb_head_off)(regline, reginput - 1), reg_buf);
-      return -1;
-  }
-- 
-  #endif
-! #ifdef FEAT_VISUAL
-  static int reg_match_visual __ARGS((void));
-  
-  /*
---- 4179,4186 ----
-  			    - (*mb_head_off)(regline, reginput - 1), reg_buf);
-      return -1;
-  }
-  #endif
-! 
-  static int reg_match_visual __ARGS((void));
-  
-  /*
-***************
-*** 4258,4264 ****
-      }
-      return TRUE;
-  }
-- #endif
-  
-  #define ADVANCE_REGINPUT() mb_ptr_adv(reginput)
-  
---- 4257,4262 ----
-***************
-*** 4440,4448 ****
-  	    break;
-  
-  	  case RE_VISUAL:
-- #ifdef FEAT_VISUAL
-  	    if (!reg_match_visual())
-- #endif
-  		status = RA_NOMATCH;
-  	    break;
-  
---- 4438,4444 ----
-*** ../vim-7.4.211/src/regexp_nfa.c	2013-11-28 14:20:11.000000000 +0100
---- src/regexp_nfa.c	2014-03-23 13:29:31.367169663 +0100
-***************
-*** 6403,6416 ****
-  		break;
-  
-  	    case NFA_VISUAL:
-- #ifdef FEAT_VISUAL
-  		result = reg_match_visual();
-  		if (result)
-  		{
-  		    add_here = TRUE;
-  		    add_state = t->state->out;
-  		}
-- #endif
-  		break;
-  
-  	    case NFA_MOPEN1:
---- 6403,6414 ----
-*** ../vim-7.4.211/src/screen.c	2013-12-11 15:51:54.000000000 +0100
---- src/screen.c	2014-03-23 13:32:10.787172106 +0100
-***************
-*** 446,453 ****
-  #endif
-  }
-  
-- #if defined(FEAT_RUBY) || defined(FEAT_PERL) || defined(FEAT_VISUAL) || \
--     (defined(FEAT_CLIPBOARD) && defined(FEAT_X11)) || defined(PROTO)
-  /*
-   * update all windows that are editing the current buffer
-   */
---- 446,451 ----
-***************
-*** 458,464 ****
-      redraw_curbuf_later(type);
-      update_screen(type);
-  }
-- #endif
-  
-  /*
-   * update_screen()
---- 456,461 ----
-***************
-*** 596,609 ****
-  		    && curwin->w_botfill == curwin->w_old_botfill
-  #endif
-  		    && curwin->w_topline == curwin->w_lines[0].wl_lnum)
-- #ifdef FEAT_VISUAL
-  		|| (type == INVERTED
-  		    && VIsual_active
-  		    && curwin->w_old_cursor_lnum == curwin->w_cursor.lnum
-  		    && curwin->w_old_visual_mode == VIsual_mode
-  		    && (curwin->w_valid & VALID_VIRTCOL)
-  		    && curwin->w_old_curswant == curwin->w_curswant)
-- #endif
-  		))
-  	curwin->w_redr_type = type;
-  
---- 593,604 ----
-***************
-*** 1030,1039 ****
-  				   updating.  0 when no mid area updating. */
-      int		bot_start = 999;/* first row of the bot area that needs
-  				   updating.  999 when no bot area updating */
-- #ifdef FEAT_VISUAL
-      int		scrolled_down = FALSE;	/* TRUE when scrolled down when
-  					   w_topline got smaller a bit */
-- #endif
-  #ifdef FEAT_SEARCH_EXTRA
-      matchitem_T *cur;		/* points to the match list */
-      int		top_to_mod = FALSE;    /* redraw above mod_top */
---- 1025,1032 ----
-***************
-*** 1354,1362 ****
-  			    /* Need to update rows that are new, stop at the
-  			     * first one that scrolled down. */
-  			    top_end = i;
-- #ifdef FEAT_VISUAL
-  			    scrolled_down = TRUE;
-- #endif
-  
-  			    /* Move the entries that were scrolled, disable
-  			     * the entries for the lines to be redrawn. */
---- 1347,1353 ----
-***************
-*** 1513,1519 ****
-  	type = NOT_VALID;
-      }
-  
-- #ifdef FEAT_VISUAL
-      /* check if we are updating or removing the inverted part */
-      if ((VIsual_active && buf == curwin->w_buffer)
-  	    || (wp->w_old_cursor_lnum != 0 && type != NOT_VALID))
---- 1504,1509 ----
-***************
-*** 1708,1714 ****
-  	wp->w_old_visual_lnum = 0;
-  	wp->w_old_visual_col = 0;
-      }
-- #endif /* FEAT_VISUAL */
-  
-  #if defined(FEAT_SYN_HL) || defined(FEAT_SEARCH_EXTRA)
-      /* reset got_int, otherwise regexp won't work */
---- 1698,1703 ----
-***************
-*** 2670,2676 ****
-       * 6. set highlighting for the Visual area an other text.
-       * If all folded lines are in the Visual area, highlight the line.
-       */
-- #ifdef FEAT_VISUAL
-      if (VIsual_active && wp->w_buffer == curwin->w_buffer)
-      {
-  	if (ltoreq(curwin->w_cursor, VIsual))
---- 2659,2664 ----
-***************
-*** 2718,2724 ****
-  	    }
-  	}
-      }
-- #endif
-  
-  #ifdef FEAT_SYN_HL
-      /* Show 'cursorcolumn' in the fold line. */
---- 2706,2711 ----
-***************
-*** 2876,2885 ****
-      int		fromcol, tocol;		/* start/end of inverting */
-      int		fromcol_prev = -2;	/* start of inverting after cursor */
-      int		noinvcur = FALSE;	/* don't invert the cursor */
-- #ifdef FEAT_VISUAL
-      pos_T	*top, *bot;
-      int		lnum_in_visual_area = FALSE;
-- #endif
-      pos_T	pos;
-      long	v;
-  
---- 2863,2870 ----
-***************
-*** 3090,3096 ****
-       */
-      fromcol = -10;
-      tocol = MAXCOL;
-- #ifdef FEAT_VISUAL
-      if (VIsual_active && wp->w_buffer == curwin->w_buffer)
-      {
-  					/* Visual is after curwin->w_cursor */
---- 3075,3080 ----
-***************
-*** 3183,3191 ****
-      /*
-       * handle 'incsearch' and ":s///c" highlighting
-       */
-!     else
-! #endif /* FEAT_VISUAL */
-! 	if (highlight_match
-  	    && wp == curwin
-  	    && lnum >= curwin->w_cursor.lnum
-  	    && lnum <= curwin->w_cursor.lnum + search_match_lines)
---- 3167,3173 ----
-      /*
-       * handle 'incsearch' and ":s///c" highlighting
-       */
-!     else if (highlight_match
-  	    && wp == curwin
-  	    && lnum >= curwin->w_cursor.lnum
-  	    && lnum <= curwin->w_cursor.lnum + search_match_lines)
-***************
-*** 3324,3330 ****
-  	    mb_ptr_adv(ptr);
-  	}
-  
-- #if defined(FEAT_SYN_HL) || defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL)
-  	/* When:
-  	 * - 'cuc' is set, or
-  	 * - 'colorcolumn' is set, or
---- 3306,3311 ----
-***************
-*** 3333,3359 ****
-  	 * the end of the line may be before the start of the displayed part.
-  	 */
-  	if (vcol < v && (
-! # ifdef FEAT_SYN_HL
-! 	     wp->w_p_cuc
-! 	     || draw_color_col
-! #  if defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL)
-! 	     ||
-! #  endif
-! # endif
-! # ifdef FEAT_VIRTUALEDIT
-! 	     virtual_active()
-! #  ifdef FEAT_VISUAL
-! 	     ||
-! #  endif
-! # endif
-! # ifdef FEAT_VISUAL
-! 	     (VIsual_active && wp->w_buffer == curwin->w_buffer)
-! # endif
-! 	     ))
-  	{
-  	    vcol = v;
-  	}
-- #endif
-  
-  	/* Handle a character that's not completely on the screen: Put ptr at
-  	 * that character but skip the first few screen characters. */
---- 3314,3329 ----
-  	 * the end of the line may be before the start of the displayed part.
-  	 */
-  	if (vcol < v && (
-! #ifdef FEAT_SYN_HL
-! 	     wp->w_p_cuc || draw_color_col ||
-! #endif
-! #ifdef FEAT_VIRTUALEDIT
-! 	     virtual_active() ||
-! #endif
-! 	     (VIsual_active && wp->w_buffer == curwin->w_buffer)))
-  	{
-  	    vcol = v;
-  	}
-  
-  	/* Handle a character that's not completely on the screen: Put ptr at
-  	 * that character but skip the first few screen characters. */
-***************
-*** 4500,4508 ****
-  			&& ((wp->w_p_list && lcs_eol > 0)
-  			    || ((fromcol >= 0 || fromcol_prev >= 0)
-  				&& tocol > vcol
-- #ifdef FEAT_VISUAL
-  				&& VIsual_mode != Ctrl_V
-- #endif
-  				&& (
-  # ifdef FEAT_RIGHTLEFT
-  				    wp->w_p_rl ? (col >= 0) :
---- 4470,4476 ----
-***************
-*** 4854,4864 ****
-  #endif
-  	    if (lcs_eol == lcs_eol_one
-  		    && ((area_attr != 0 && vcol == fromcol
-- #ifdef FEAT_VISUAL
-  			    && (VIsual_mode != Ctrl_V
-  				|| lnum == VIsual.lnum
-  				|| lnum == curwin->w_cursor.lnum)
-- #endif
-  			    && c == NUL)
-  #ifdef FEAT_SEARCH_EXTRA
-  			/* highlight 'hlsearch' match at end of line */
---- 4822,4830 ----
-***************
-*** 9659,9668 ****
-      do_mode = ((p_smd && msg_silent == 0)
-  	    && ((State & INSERT)
-  		|| restart_edit
-! #ifdef FEAT_VISUAL
-! 		|| VIsual_active
-! #endif
-! 		));
-      if (do_mode || Recording)
-      {
-  	/*
---- 9625,9631 ----
-      do_mode = ((p_smd && msg_silent == 0)
-  	    && ((State & INSERT)
-  		|| restart_edit
-! 		|| VIsual_active));
-      if (do_mode || Recording)
-      {
-  	/*
-***************
-*** 9790,9796 ****
-  		if ((State & INSERT) && p_paste)
-  		    MSG_PUTS_ATTR(_(" (paste)"), attr);
-  
-- #ifdef FEAT_VISUAL
-  		if (VIsual_active)
-  		{
-  		    char *p;
---- 9753,9758 ----
-***************
-*** 9810,9816 ****
-  		    }
-  		    MSG_PUTS_ATTR(_(p), attr);
-  		}
-- #endif
-  		MSG_PUTS_ATTR(" --", attr);
-  	    }
-  
---- 9772,9777 ----
-***************
-*** 9839,9849 ****
-  	msg_clr_cmdline();
-  
-  #ifdef FEAT_CMDL_INFO
-- # ifdef FEAT_VISUAL
-      /* In Visual mode the size of the selected area must be redrawn. */
-      if (VIsual_active)
-  	clear_showcmd();
-- # endif
-  
-      /* If the last window has no status line, the ruler is after the mode
-       * message and must be redrawn */
---- 9800,9808 ----
-*** ../vim-7.4.211/src/search.c	2014-01-14 21:31:30.000000000 +0100
---- src/search.c	2014-03-23 13:34:46.351174489 +0100
-***************
-*** 506,512 ****
-  #endif
-  
-  /*
-!  * lowest level search function.
-   * Search for 'count'th occurrence of pattern 'pat' in direction 'dir'.
-   * Start at position 'pos' and return the found position in 'pos'.
-   *
---- 506,512 ----
-  #endif
-  
-  /*
-!  * Lowest level search function.
-   * Search for 'count'th occurrence of pattern 'pat' in direction 'dir'.
-   * Start at position 'pos' and return the found position in 'pos'.
-   *
-***************
-*** 3198,3204 ****
-      cls_bigword = bigword;
-      clearpos(&start_pos);
-  
-- #ifdef FEAT_VISUAL
-      /* Correct cursor when 'selection' is exclusive */
-      if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
-  	dec_cursor();
---- 3198,3203 ----
-***************
-*** 3208,3214 ****
-       * character, select the word and/or white space under the cursor.
-       */
-      if (!VIsual_active || equalpos(curwin->w_cursor, VIsual))
-- #endif
-      {
-  	/*
-  	 * Go to start of current word or white space.
---- 3207,3212 ----
-***************
-*** 3245,3251 ****
-  		include_white = TRUE;
-  	}
-  
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active)
-  	{
-  	    /* should do something when inclusive == FALSE ! */
---- 3243,3248 ----
-***************
-*** 3253,3259 ****
-  	    redraw_curbuf_later(INVERTED);	/* update the inversion */
-  	}
-  	else
-- #endif
-  	{
-  	    oap->start = start_pos;
-  	    oap->motion_type = MCHAR;
---- 3250,3255 ----
-***************
-*** 3267,3273 ****
-      while (count > 0)
-      {
-  	inclusive = TRUE;
-- #ifdef FEAT_VISUAL
-  	if (VIsual_active && lt(curwin->w_cursor, VIsual))
-  	{
-  	    /*
---- 3263,3268 ----
-***************
-*** 3288,3294 ****
-  	    }
-  	}
-  	else
-- #endif
-  	{
-  	    /*
-  	     * Move cursor forward one word and/or white area.
---- 3283,3288 ----
-***************
-*** 3334,3351 ****
-  	    back_in_line();
-  	    if (cls() == 0 && curwin->w_cursor.col > 0)
-  	    {
-- #ifdef FEAT_VISUAL
-  		if (VIsual_active)
-  		    VIsual = curwin->w_cursor;
-  		else
-- #endif
-  		    oap->start = curwin->w_cursor;
-  	    }
-  	}
-  	curwin->w_cursor = pos;	/* put cursor back at end */
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	if (*p_sel == 'e' && inclusive && ltoreq(VIsual, curwin->w_cursor))
---- 3328,3342 ----
-***************
-*** 3357,3363 ****
-  	}
-      }
-      else
-- #endif
-  	oap->inclusive = inclusive;
-  
-      return OK;
---- 3348,3353 ----
-***************
-*** 3384,3390 ****
-      pos = start_pos;
-      findsent(FORWARD, 1L);	/* Find start of next sentence. */
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * When the Visual area is bigger than one character: Extend it.
-       */
---- 3374,3379 ----
-***************
-*** 3471,3477 ****
-  	}
-  	return OK;
-      }
-- #endif
-  
-      /*
-       * If the cursor started on a blank, check if it is just before the start
---- 3460,3465 ----
-***************
-*** 3521,3527 ****
-  	    find_first_blank(&start_pos);
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	/* Avoid getting stuck with "is" on a single space before a sentence. */
---- 3509,3514 ----
-***************
-*** 3534,3540 ****
-  	redraw_curbuf_later(INVERTED);	/* update the inversion */
-      }
-      else
-- #endif
-      {
-  	/* include a newline after the sentence, if there is one */
-  	if (incl(&curwin->w_cursor) == -1)
---- 3521,3526 ----
-***************
-*** 3574,3582 ****
-      /*
-       * If we start on '(', '{', ')', '}', etc., use the whole block inclusive.
-       */
-- #ifdef FEAT_VISUAL
-      if (!VIsual_active || equalpos(VIsual, curwin->w_cursor))
-- #endif
-      {
-  	setpcmark();
-  	if (what == '{')		/* ignore indent */
---- 3560,3566 ----
-***************
-*** 3587,3593 ****
-  	    /* cursor on '(' or '{', move cursor just after it */
-  	    ++curwin->w_cursor.col;
-      }
-- #ifdef FEAT_VISUAL
-      else if (lt(VIsual, curwin->w_cursor))
-      {
-  	old_start = VIsual;
---- 3571,3576 ----
-***************
-*** 3595,3601 ****
-      }
-      else
-  	old_end = VIsual;
-- #endif
-  
-      /*
-       * Search backwards for unclosed '(', '{', etc..
---- 3578,3583 ----
-***************
-*** 3641,3647 ****
-  		if (decl(&curwin->w_cursor) != 0)
-  		    break;
-  	    }
-- #ifdef FEAT_VISUAL
-  	/*
-  	 * 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.
---- 3623,3628 ----
-***************
-*** 3666,3676 ****
-  	    curwin->w_cursor = *end_pos;
-  	}
-  	else
-- #endif
-  	    break;
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	if (*p_sel == 'e')
---- 3647,3655 ----
-***************
-*** 3683,3689 ****
-  	showmode();
-      }
-      else
-- #endif
-      {
-  	oap->start = start_pos;
-  	oap->motion_type = MCHAR;
---- 3662,3667 ----
-***************
-*** 3807,3823 ****
-      old_pos = curwin->w_cursor;
-      old_end = curwin->w_cursor;		    /* remember where we started */
-      old_start = old_end;
-- #ifdef FEAT_VISUAL
-      if (!VIsual_active || *p_sel == 'e')
-- #endif
-  	decl(&old_end);			    /* old_end is inclusive */
-  
-      /*
-       * If we start on "<aaa>" select that block.
-       */
-- #ifdef FEAT_VISUAL
-      if (!VIsual_active || equalpos(VIsual, curwin->w_cursor))
-- #endif
-      {
-  	setpcmark();
-  
---- 3785,3797 ----
-***************
-*** 3843,3849 ****
-  	    old_end = curwin->w_cursor;
-  	}
-      }
-- #ifdef FEAT_VISUAL
-      else if (lt(VIsual, curwin->w_cursor))
-      {
-  	old_start = VIsual;
---- 3817,3822 ----
-***************
-*** 3851,3857 ****
-      }
-      else
-  	old_end = VIsual;
-- #endif
-  
-  again:
-      /*
---- 3824,3829 ----
-***************
-*** 3951,3957 ****
-  	}
-      }
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	/* If the end is before the start there is no text between tags, select
---- 3923,3928 ----
-***************
-*** 3966,3972 ****
-  	showmode();
-      }
-      else
-- #endif
-      {
-  	oap->start = start_pos;
-  	oap->motion_type = MCHAR;
---- 3937,3942 ----
-***************
-*** 4010,4016 ****
-  
-      start_lnum = curwin->w_cursor.lnum;
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * When visual area is more than one line: extend it.
-       */
---- 3980,3985 ----
-***************
-*** 4064,4070 ****
-  	curwin->w_cursor.col = 0;
-  	return retval;
-      }
-- #endif
-  
-      /*
-       * First move back to the start_lnum of the paragraph or white lines
---- 4033,4038 ----
-***************
-*** 4136,4142 ****
-  	while (start_lnum > 1 && linewhite(start_lnum - 1))
-  	    --start_lnum;
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	/* Problem: when doing "Vipipip" nothing happens in a single white
---- 4104,4109 ----
-***************
-*** 4149,4155 ****
-  	showmode();
-      }
-      else
-- #endif
-      {
-  	oap->start.lnum = start_lnum;
-  	oap->start.col = 0;
---- 4116,4121 ----
-***************
-*** 4247,4253 ****
-      int		col_end;
-      int		col_start = curwin->w_cursor.col;
-      int		inclusive = FALSE;
-- #ifdef FEAT_VISUAL
-      int		vis_empty = TRUE;	/* Visual selection <= 1 char */
-      int		vis_bef_curs = FALSE;	/* Visual starts before cursor */
-      int		inside_quotes = FALSE;	/* Looks like "i'" done before */
---- 4213,4218 ----
-***************
-*** 4331,4347 ****
-  	}
-      }
-      else
-- #endif
-  
-!     if (line[col_start] == quotechar
-! #ifdef FEAT_VISUAL
-! 	    || !vis_empty
-! #endif
-! 	    )
-      {
-  	int	first_col = col_start;
-  
-- #ifdef FEAT_VISUAL
-  	if (!vis_empty)
-  	{
-  	    if (vis_bef_curs)
---- 4296,4306 ----
-  	}
-      }
-      else
-  
-!     if (line[col_start] == quotechar || !vis_empty)
-      {
-  	int	first_col = col_start;
-  
-  	if (!vis_empty)
-  	{
-  	    if (vis_bef_curs)
-***************
-*** 4349,4355 ****
-  	    else
-  		first_col = find_prev_quote(line, col_start, quotechar, NULL);
-  	}
-! #endif
-  	/* The cursor is on a quote, we don't know if it's the opening or
-  	 * closing quote.  Search from the start of the line to find out.
-  	 * Also do this when there is a Visual area, a' may leave the cursor
---- 4308,4314 ----
-  	    else
-  		first_col = find_prev_quote(line, col_start, quotechar, NULL);
-  	}
-! 
-  	/* The cursor is on a quote, we don't know if it's the opening or
-  	 * closing quote.  Search from the start of the line to find out.
-  	 * Also do this when there is a Visual area, a' may leave the cursor
-***************
-*** 4406,4419 ****
-  
-      /* Set start position.  After vi" another i" must include the ".
-       * For v2i" include the quotes. */
-!     if (!include && count < 2
-! #ifdef FEAT_VISUAL
-! 	    && (vis_empty || !inside_quotes)
-! #endif
-! 	    )
-  	++col_start;
-      curwin->w_cursor.col = col_start;
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	/* Set the start of the Visual area when the Visual area was empty, we
---- 4365,4373 ----
-  
-      /* Set start position.  After vi" another i" must include the ".
-       * For v2i" include the quotes. */
-!     if (!include && count < 2 && (vis_empty || !inside_quotes))
-  	++col_start;
-      curwin->w_cursor.col = col_start;
-      if (VIsual_active)
-      {
-  	/* Set the start of the Visual area when the Visual area was empty, we
-***************
-*** 4433,4439 ****
-  	}
-      }
-      else
-- #endif
-      {
-  	oap->start = curwin->w_cursor;
-  	oap->motion_type = MCHAR;
---- 4387,4392 ----
-***************
-*** 4441,4454 ****
-  
-      /* Set end position. */
-      curwin->w_cursor.col = col_end;
-!     if ((include || count > 1
-! #ifdef FEAT_VISUAL
-! 		/* After vi" another i" must include the ". */
-  		|| (!vis_empty && inside_quotes)
-- #endif
-  	) && inc_cursor() == 2)
-  	inclusive = TRUE;
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	if (vis_empty || vis_bef_curs)
---- 4394,4403 ----
-  
-      /* Set end position. */
-      curwin->w_cursor.col = col_end;
-!     if ((include || count > 1 /* After vi" another i" must include the ". */
-  		|| (!vis_empty && inside_quotes)
-  	) && inc_cursor() == 2)
-  	inclusive = TRUE;
-      if (VIsual_active)
-      {
-  	if (vis_empty || vis_bef_curs)
-***************
-*** 4480,4486 ****
-  	}
-      }
-      else
-- #endif
-      {
-  	/* Set inclusive and other oap's flags. */
-  	oap->inclusive = inclusive;
---- 4429,4434 ----
-***************
-*** 4491,4497 ****
-  
-  #endif /* FEAT_TEXTOBJ */
-  
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-  static int is_one_char __ARGS((char_u *pattern));
-  
-  /*
---- 4439,4444 ----
-***************
-*** 4690,4696 ****
-      vim_regfree(regmatch.regprog);
-      return result;
-  }
-- #endif /* FEAT_VISUAL */
-  
-  #if defined(FEAT_LISP) || defined(FEAT_CINDENT) || defined(FEAT_TEXTOBJ) \
-  	|| defined(PROTO)
---- 4637,4642 ----
-*** ../vim-7.4.211/src/spell.c	2014-03-08 16:13:39.123462070 +0100
---- src/spell.c	2014-03-23 13:35:15.195174931 +0100
-***************
-*** 10191,10197 ****
-      if (no_spell_checking(curwin))
-  	return;
-  
-- #ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	/* Use the Visually selected text as the bad word.  But reject
---- 10191,10196 ----
-***************
-*** 10209,10218 ****
-  	++badlen;
-  	end_visual_mode();
-      }
-!     else
-! #endif
-! 	/* Find the start of the badly spelled word. */
-! 	if (spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL) == 0
-  	    || curwin->w_cursor.col > prev_cursor.col)
-      {
-  	/* No bad word or it starts after the cursor: use the word under the
---- 10208,10215 ----
-  	++badlen;
-  	end_visual_mode();
-      }
-!     /* Find the start of the badly spelled word. */
-!     else if (spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL) == 0
-  	    || curwin->w_cursor.col > prev_cursor.col)
-      {
-  	/* No bad word or it starts after the cursor: use the word under the
-*** ../vim-7.4.211/src/syntax.c	2013-11-28 18:53:47.000000000 +0100
---- src/syntax.c	2014-03-23 13:35:30.379175164 +0100
-***************
-*** 6837,6846 ****
-  	CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
-  	     "SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
-  #endif
-- #ifdef FEAT_VISUAL
-  	CENT("Visual term=reverse",
-  	     "Visual term=reverse guibg=LightGrey"),
-- #endif
-  #ifdef FEAT_DIFF
-  	CENT("DiffAdd term=bold ctermbg=LightBlue",
-  	     "DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"),
---- 6837,6844 ----
-***************
-*** 6927,6936 ****
-  	CENT("SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
-  	     "SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
-  #endif
-- #ifdef FEAT_VISUAL
-  	CENT("Visual term=reverse",
-  	     "Visual term=reverse guibg=DarkGrey"),
-- #endif
-  #ifdef FEAT_DIFF
-  	CENT("DiffAdd term=bold ctermbg=DarkBlue",
-  	     "DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"),
---- 6925,6932 ----
-*** ../vim-7.4.211/src/term.c	2014-03-19 14:01:53.153903819 +0100
---- src/term.c	2014-03-23 13:35:43.519175365 +0100
-***************
-*** 3456,3467 ****
-  	return;
-      }
-  
-- #  ifdef FEAT_VISUAL
-      if (VIsual_active)
-  	checkfor = MOUSE_VISUAL;
-!     else
-! #  endif
-! 	if (State == HITRETURN || State == ASKMORE || State == SETWSIZE)
-  	checkfor = MOUSE_RETURN;
-      else if (State & INSERT)
-  	checkfor = MOUSE_INSERT;
---- 3456,3464 ----
-  	return;
-      }
-  
-      if (VIsual_active)
-  	checkfor = MOUSE_VISUAL;
-!     else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE)
-  	checkfor = MOUSE_RETURN;
-      else if (State & INSERT)
-  	checkfor = MOUSE_INSERT;
-*** ../vim-7.4.211/src/ui.c	2013-07-13 20:57:08.000000000 +0200
---- src/ui.c	2014-03-23 13:36:15.459175855 +0100
-***************
-*** 2610,2622 ****
-  	if (on_sep_line)
-  	    return IN_SEP_LINE;
-  #endif
-- #ifdef FEAT_VISUAL
-  	if (flags & MOUSE_MAY_STOP_VIS)
-  	{
-  	    end_visual_mode();
-  	    redraw_curbuf_later(INVERTED);	/* delete the inversion */
-  	}
-- #endif
-  #if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
-  	/* Continue a modeless selection in another window. */
-  	if (cmdwin_type != 0 && row < W_WINROW(curwin))
---- 2610,2620 ----
-***************
-*** 2686,2717 ****
-  	}
-  #endif
-  
-- #ifdef FEAT_VISUAL
-  	/* Before jumping to another buffer, or moving the cursor for a left
-  	 * click, stop Visual mode. */
-  	if (VIsual_active
-  		&& (wp->w_buffer != curwin->w_buffer
-  		    || (!on_status_line
-! # ifdef FEAT_VERTSPLIT
-  			&& !on_sep_line
-! # endif
-! # ifdef FEAT_FOLDING
-  			&& (
-! #  ifdef FEAT_RIGHTLEFT
-  			    wp->w_p_rl ? col < W_WIDTH(wp) - wp->w_p_fdc :
-! #  endif
-  			    col >= wp->w_p_fdc
-! #  ifdef FEAT_CMDWIN
-  				  + (cmdwin_type == 0 && wp == curwin ? 0 : 1)
-- #  endif
-- 			    )
-  # endif
-  			&& (flags & MOUSE_MAY_STOP_VIS))))
-  	{
-  	    end_visual_mode();
-  	    redraw_curbuf_later(INVERTED);	/* delete the inversion */
-  	}
-- #endif
-  #ifdef FEAT_CMDWIN
-  	if (cmdwin_type != 0 && wp != curwin)
-  	{
---- 2684,2713 ----
-  	}
-  #endif
-  
-  	/* Before jumping to another buffer, or moving the cursor for a left
-  	 * click, stop Visual mode. */
-  	if (VIsual_active
-  		&& (wp->w_buffer != curwin->w_buffer
-  		    || (!on_status_line
-! #ifdef FEAT_VERTSPLIT
-  			&& !on_sep_line
-! #endif
-! #ifdef FEAT_FOLDING
-  			&& (
-! # ifdef FEAT_RIGHTLEFT
-  			    wp->w_p_rl ? col < W_WIDTH(wp) - wp->w_p_fdc :
-! # endif
-  			    col >= wp->w_p_fdc
-! # ifdef FEAT_CMDWIN
-  				  + (cmdwin_type == 0 && wp == curwin ? 0 : 1)
-  # endif
-+ 			    )
-+ #endif
-  			&& (flags & MOUSE_MAY_STOP_VIS))))
-  	{
-  	    end_visual_mode();
-  	    redraw_curbuf_later(INVERTED);	/* delete the inversion */
-  	}
-  #ifdef FEAT_CMDWIN
-  	if (cmdwin_type != 0 && wp != curwin)
-  	{
-***************
-*** 2801,2814 ****
-  #endif
-      else /* keep_window_focus must be TRUE */
-      {
-- #ifdef FEAT_VISUAL
-  	/* before moving the cursor for a left click, stop Visual mode */
-  	if (flags & MOUSE_MAY_STOP_VIS)
-  	{
-  	    end_visual_mode();
-  	    redraw_curbuf_later(INVERTED);	/* delete the inversion */
-  	}
-- #endif
-  
-  #if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
-  	/* Continue a modeless selection in another window. */
---- 2797,2808 ----
-***************
-*** 2933,2939 ****
-      if (mouse_comp_pos(curwin, &row, &col, &curwin->w_cursor.lnum))
-  	mouse_past_bottom = TRUE;
-  
-- #ifdef FEAT_VISUAL
-      /* Start Visual mode before coladvance(), for when 'sel' != "old" */
-      if ((flags & MOUSE_MAY_VIS) && !VIsual_active)
-      {
---- 2927,2932 ----
-***************
-*** 2947,2953 ****
-  	if (p_smd && msg_silent == 0)
-  	    redraw_cmdline = TRUE;	/* show visual mode later */
-      }
-- #endif
-  
-      curwin->w_curswant = col;
-      curwin->w_set_curswant = FALSE;	/* May still have been TRUE */
---- 2940,2945 ----
-*** ../vim-7.4.211/src/undo.c	2014-03-12 16:51:35.060792541 +0100
---- src/undo.c	2014-03-23 13:37:05.435176620 +0100
-***************
-*** 532,540 ****
-  
-  	/* save named marks and Visual marks for undo */
-  	mch_memmove(uhp->uh_namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS);
-- #ifdef FEAT_VISUAL
-  	uhp->uh_visual = curbuf->b_visual;
-- #endif
-  
-  	curbuf->b_u_newhead = uhp;
-  	if (curbuf->b_u_oldhead == NULL)
---- 532,538 ----
-***************
-*** 1014,1029 ****
-      /* Assume NMARKS will stay the same. */
-      for (i = 0; i < NMARKS; ++i)
-  	serialize_pos(uhp->uh_namedm[i], fp);
-- #ifdef FEAT_VISUAL
-      serialize_visualinfo(&uhp->uh_visual, fp);
-- #else
--     {
-- 	visualinfo_T info;
-- 
-- 	memset(&info, 0, sizeof(visualinfo_T));
-- 	serialize_visualinfo(&info, fp);
--     }
-- #endif
-      put_time(fp, uhp->uh_time);
-  
-      /* Optional fields. */
---- 1012,1018 ----
-***************
-*** 1082,1095 ****
-      uhp->uh_flags = get2c(fp);
-      for (i = 0; i < NMARKS; ++i)
-  	unserialize_pos(&uhp->uh_namedm[i], fp);
-- #ifdef FEAT_VISUAL
-      unserialize_visualinfo(&uhp->uh_visual, fp);
-- #else
--     {
-- 	visualinfo_T info;
-- 	unserialize_visualinfo(&info, fp);
--     }
-- #endif
-      uhp->uh_time = get8ctime(fp);
-  
-      /* Optional fields. */
---- 1071,1077 ----
-***************
-*** 2406,2414 ****
-      int		old_flags;
-      int		new_flags;
-      pos_T	namedm[NMARKS];
-- #ifdef FEAT_VISUAL
-      visualinfo_T visualinfo;
-- #endif
-      int		empty_buffer;		    /* buffer became empty */
-      u_header_T	*curhead = curbuf->b_u_curhead;
-  
---- 2388,2394 ----
-***************
-*** 2430,2438 ****
-       * save marks before undo/redo
-       */
-      mch_memmove(namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS);
-- #ifdef FEAT_VISUAL
-      visualinfo = curbuf->b_visual;
-- #endif
-      curbuf->b_op_start.lnum = curbuf->b_ml.ml_line_count;
-      curbuf->b_op_start.col = 0;
-      curbuf->b_op_end.lnum = 0;
---- 2410,2416 ----
-***************
-*** 2602,2614 ****
-  	    curbuf->b_namedm[i] = curhead->uh_namedm[i];
-  	    curhead->uh_namedm[i] = namedm[i];
-  	}
-- #ifdef FEAT_VISUAL
-      if (curhead->uh_visual.vi_start.lnum != 0)
-      {
-  	curbuf->b_visual = curhead->uh_visual;
-  	curhead->uh_visual = visualinfo;
-      }
-- #endif
-  
-      /*
-       * If the cursor is only off by one line, put it at the same position as
---- 2580,2590 ----
-*** ../vim-7.4.211/src/version.c	2014-03-22 13:29:57.693846167 +0100
---- src/version.c	2014-03-23 15:01:49.719254526 +0100
-***************
-*** 642,656 ****
-  #else
-  	"-virtualedit",
-  #endif
-- #ifdef FEAT_VISUAL
-  	"+visual",
-! # ifdef FEAT_VISUALEXTRA
-  	"+visualextra",
-- # else
-- 	"-visualextra",
-- # endif
-  #else
-! 	"-visual",
-  #endif
-  #ifdef FEAT_VIMINFO
-  	"+viminfo",
---- 642,652 ----
-  #else
-  	"-virtualedit",
-  #endif
-  	"+visual",
-! #ifdef FEAT_VISUALEXTRA
-  	"+visualextra",
-  #else
-! 	"-visualextra",
-  #endif
-  #ifdef FEAT_VIMINFO
-  	"+viminfo",
-*** ../vim-7.4.211/src/window.c	2014-01-10 15:53:09.000000000 +0100
---- src/window.c	2014-03-23 13:38:17.767177729 +0100
-***************
-*** 130,138 ****
-      case Ctrl_S:
-      case 's':
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  #ifdef FEAT_QUICKFIX
-  		/* When splitting the quickfix window open a new buffer in it,
-  		 * don't replicate the quickfix buffer. */
---- 130,136 ----
-***************
-*** 150,158 ****
-      case Ctrl_V:
-      case 'v':
-  		CHECK_CMDWIN
-- # ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- # endif
-  # ifdef FEAT_QUICKFIX
-  		/* When splitting the quickfix window open a new buffer in it,
-  		 * don't replicate the quickfix buffer. */
---- 148,154 ----
-***************
-*** 170,178 ****
-      case Ctrl_HAT:
-      case '^':
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		STRCPY(cbuf, "split #");
-  		if (Prenum)
-  		    vim_snprintf((char *)cbuf + 7, sizeof(cbuf) - 7,
---- 166,172 ----
-***************
-*** 184,192 ****
-      case Ctrl_N:
-      case 'n':
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  #ifdef FEAT_QUICKFIX
-  newwindow:
-  #endif
---- 178,184 ----
-***************
-*** 206,223 ****
-  /* quit current window */
-      case Ctrl_Q:
-      case 'q':
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		do_cmdline_cmd((char_u *)"quit");
-  		break;
-  
-  /* close current window */
-      case Ctrl_C:
-      case 'c':
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		do_cmdline_cmd((char_u *)"close");
-  		break;
-  
---- 198,211 ----
-***************
-*** 226,234 ****
-      case Ctrl_Z:
-      case 'z':
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		do_cmdline_cmd((char_u *)"pclose");
-  		break;
-  
---- 214,220 ----
-***************
-*** 248,256 ****
-      case Ctrl_O:
-      case 'o':
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		do_cmdline_cmd((char_u *)"only");
-  		break;
-  
---- 234,240 ----
-***************
-*** 399,416 ****
-      case Ctrl_R:
-      case 'r':
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		win_rotate(FALSE, (int)Prenum1);    /* downwards */
-  		break;
-  
-  /* rotate windows upwards */
-      case 'R':
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		win_rotate(TRUE, (int)Prenum1);	    /* upwards */
-  		break;
-  
---- 383,396 ----
-***************
-*** 499,507 ****
-      case ']':
-      case Ctrl_RSB:
-  		CHECK_CMDWIN
-- #ifdef FEAT_VISUAL
-  		reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  		if (Prenum)
-  		    postponed_split = Prenum;
-  		else
---- 479,485 ----
-***************
-*** 612,620 ****
-  #endif
-  		    case ']':
-  		    case Ctrl_RSB:
-- #ifdef FEAT_VISUAL
-  			reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  			if (Prenum)
-  			    postponed_split = Prenum;
-  			else
---- 590,596 ----
-***************
-*** 3726,3734 ****
-  {
-      tabpage_T	*tp = curtab;
-  
-- #ifdef FEAT_VISUAL
-      reset_VIsual_and_resel();	/* stop Visual mode */
-- #endif
-  #ifdef FEAT_AUTOCMD
-      if (trigger_leave_autocmds)
-      {
---- 3702,3708 ----
-***************
-*** 4029,4040 ****
-  	return;
-  #endif
-  
-- #ifdef FEAT_VISUAL
-      if (wp->w_buffer != curbuf)
-  	reset_VIsual_and_resel();
-      else if (VIsual_active)
-  	wp->w_cursor = curwin->w_cursor;
-- #endif
-  
-  #ifdef FEAT_GUI
-      need_mouse_correct = TRUE;
---- 4003,4012 ----
-***************
-*** 6037,6043 ****
-      long	count;
-      linenr_T	*file_lnum;
-  {
-- # ifdef FEAT_VISUAL
-      if (VIsual_active)
-      {
-  	int	len;
---- 6009,6014 ----
-***************
-*** 6048,6054 ****
-  	return find_file_name_in_path(ptr, len,
-  		     FNAME_MESS|FNAME_EXP|FNAME_REL, count, curbuf->b_ffname);
-      }
-- # endif
-      return file_name_at_cursor(FNAME_MESS|FNAME_HYP|FNAME_EXP|FNAME_REL, count,
-  			       file_lnum);
-  
---- 6019,6024 ----
-*** ../vim-7.4.211/src/feature.h	2014-03-12 17:56:42.960852421 +0100
---- src/feature.h	2014-03-23 13:39:02.003178407 +0100
-***************
-*** 214,220 ****
-   * +visual		Visual mode - now always included.
-   * +visualextra		Extra features for Visual mode (mostly block operators).
-   */
-- #define FEAT_VISUAL
-  #ifdef FEAT_NORMAL
-  # define FEAT_VISUALEXTRA
-  #endif
---- 214,219 ----
-***************
-*** 1138,1150 ****
-  #ifdef FEAT_GUI
-  # ifndef FEAT_CLIPBOARD
-  #  define FEAT_CLIPBOARD
-- #  ifndef FEAT_VISUAL
-- #   define FEAT_VISUAL
-- #  endif
-  # endif
-  #endif
-  
-! #if defined(FEAT_NORMAL) && defined(FEAT_VISUAL) \
-  	&& (defined(UNIX) || defined(VMS)) \
-  	&& defined(WANT_X11) && defined(HAVE_X11)
-  # define FEAT_XCLIPBOARD
---- 1137,1146 ----
-  #ifdef FEAT_GUI
-  # ifndef FEAT_CLIPBOARD
-  #  define FEAT_CLIPBOARD
-  # endif
-  #endif
-  
-! #if defined(FEAT_NORMAL) \
-  	&& (defined(UNIX) || defined(VMS)) \
-  	&& defined(WANT_X11) && defined(HAVE_X11)
-  # define FEAT_XCLIPBOARD
-*** ../vim-7.4.211/src/globals.h	2014-02-22 23:03:48.712901208 +0100
---- src/globals.h	2014-03-23 13:39:17.407178643 +0100
-***************
-*** 662,668 ****
-  				/* set to TRUE when "-s" commandline argument
-  				 * used for ex */
-  
-- #ifdef FEAT_VISUAL
-  EXTERN pos_T	VIsual;		/* start position of active Visual selection */
-  EXTERN int	VIsual_active INIT(= FALSE);
-  				/* whether Visual mode is active */
---- 662,667 ----
-***************
-*** 677,683 ****
-  
-  EXTERN int	redo_VIsual_busy INIT(= FALSE);
-  				/* TRUE when redoing Visual */
-- #endif
-  
-  #ifdef FEAT_MOUSE
-  /*
---- 676,681 ----
-***************
-*** 1178,1188 ****
-  EXTERN int	fill_diff INIT(= '-');
-  #endif
-  
-- #ifdef FEAT_VISUAL
-  /* Whether 'keymodel' contains "stopsel" and "startsel". */
-  EXTERN int	km_stopsel INIT(= FALSE);
-  EXTERN int	km_startsel INIT(= FALSE);
-- #endif
-  
-  #ifdef FEAT_CMDWIN
-  EXTERN int	cedit_key INIT(= -1);	/* key value of 'cedit' option */
---- 1176,1184 ----
-*** ../vim-7.4.211/src/option.h	2014-03-12 18:55:52.104906804 +0100
---- src/option.h	2014-03-23 13:39:30.991178851 +0100
-***************
-*** 572,580 ****
-  EXTERN char_u	*p_isp;		/* 'isprint' */
-  EXTERN int	p_js;		/* 'joinspaces' */
-  EXTERN char_u	*p_kp;		/* 'keywordprg' */
-- #ifdef FEAT_VISUAL
-  EXTERN char_u	*p_km;		/* 'keymodel' */
-- #endif
-  #ifdef FEAT_LANGMAP
-  EXTERN char_u	*p_langmap;	/* 'langmap'*/
-  #endif
---- 572,578 ----
-***************
-*** 681,690 ****
-  #endif
-  EXTERN char_u	*p_sections;	/* 'sections' */
-  EXTERN int	p_secure;	/* 'secure' */
-- #ifdef FEAT_VISUAL
-  EXTERN char_u	*p_sel;		/* 'selection' */
-  EXTERN char_u	*p_slm;		/* 'selectmode' */
-- #endif
-  #ifdef FEAT_SESSION
-  EXTERN char_u	*p_ssop;	/* 'sessionoptions' */
-  EXTERN unsigned	ssop_flags;
---- 679,686 ----
-*** ../vim-7.4.211/src/os_win32.h	2013-09-25 19:13:32.000000000 +0200
---- src/os_win32.h	2014-03-23 13:39:49.819179139 +0100
-***************
-*** 68,74 ****
-  #endif
-  
-  #define USE_FNAME_CASE		/* adjust case of file names */
-! #if !defined(FEAT_CLIPBOARD) && defined(FEAT_VISUAL) && defined(FEAT_MOUSE)
-  # define FEAT_CLIPBOARD		/* include clipboard support */
-  #endif
-  #if defined(__DATE__) && defined(__TIME__)
---- 68,74 ----
-  #endif
-  
-  #define USE_FNAME_CASE		/* adjust case of file names */
-! #if !defined(FEAT_CLIPBOARD) && defined(FEAT_MOUSE)
-  # define FEAT_CLIPBOARD		/* include clipboard support */
-  #endif
-  #if defined(__DATE__) && defined(__TIME__)
-*** ../vim-7.4.211/src/structs.h	2014-03-12 18:55:52.104906804 +0100
---- src/structs.h	2014-03-23 13:40:19.175179589 +0100
-***************
-*** 346,354 ****
-  #endif
-      int		uh_flags;	/* see below */
-      pos_T	uh_namedm[NMARKS];	/* marks before undo/after redo */
-- #ifdef FEAT_VISUAL
-      visualinfo_T uh_visual;	/* Visual areas before undo/after redo */
-- #endif
-      time_t	uh_time;	/* timestamp when the change was made */
-      long	uh_save_nr;	/* set when the file was saved after the
-  				   changes in this block */
---- 346,352 ----
-***************
-*** 1406,1417 ****
-  
-      pos_T	b_namedm[NMARKS]; /* current named marks (mark.c) */
-  
-- #ifdef FEAT_VISUAL
-      /* These variables are set when VIsual_active becomes FALSE */
-      visualinfo_T b_visual;
-! # ifdef FEAT_EVAL
-      int		b_visual_mode_eval;  /* b_visual.vi_mode for visualmode() */
-- # endif
-  #endif
-  
-      pos_T	b_last_cursor;	/* cursor position when last unloading this
---- 1404,1413 ----
-  
-      pos_T	b_namedm[NMARKS]; /* current named marks (mark.c) */
-  
-      /* These variables are set when VIsual_active becomes FALSE */
-      visualinfo_T b_visual;
-! #ifdef FEAT_EVAL
-      int		b_visual_mode_eval;  /* b_visual.vi_mode for visualmode() */
-  #endif
-  
-      pos_T	b_last_cursor;	/* cursor position when last unloading this
-***************
-*** 1980,1986 ****
-  				       time through cursupdate() to the
-  				       current virtual column */
-  
-- #ifdef FEAT_VISUAL
-      /*
-       * the next six are used to update the visual part
-       */
---- 1976,1981 ----
-***************
-*** 1991,1997 ****
-      linenr_T	w_old_visual_lnum;  /* last known start of visual part */
-      colnr_T	w_old_visual_col;   /* last known start of visual part */
-      colnr_T	w_old_curswant;	    /* last known value of Curswant */
-- #endif
-  
-      /*
-       * "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for
---- 1986,1991 ----
-***************
-*** 2293,2302 ****
-  				   (inclusive) */
-      int		empty;		/* op_start and op_end the same (only used by
-  				   do_change()) */
-- #ifdef FEAT_VISUAL
-      int		is_VIsual;	/* operator on Visual area */
-      int		block_mode;	/* current operator is Visual block mode */
-- #endif
-      colnr_T	start_vcol;	/* start col for block mode operator */
-      colnr_T	end_vcol;	/* end col for block mode operator */
-  #ifdef FEAT_AUTOCMD
---- 2287,2294 ----
-*** ../vim-7.4.211/src/version.c	2014-03-22 13:29:57.693846167 +0100
---- src/version.c	2014-03-23 15:01:49.719254526 +0100
-***************
-*** 740,741 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     212,
-  /**/
-
--- 
-If all you have is a hammer, everything looks like a nail.
-When your hammer is C++, everything begins to look like a thumb.
-			-- Steve Hoflich, comp.lang.c++
-
- /// 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    ///
diff --git a/7.4.213 b/7.4.213
deleted file mode 100644
index 1d0f55c..0000000
--- a/7.4.213
+++ /dev/null
@@ -1,211 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.213
-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.213
-Problem:    It's not possible to open a new buffer without creating a swap
-	    file.
-Solution:   Add the ":noswapfile" modifier. (Christian Brabandt)
-Files:	    runtime/doc/recover.txt, src/ex_cmds.h, src/ex_docmd.c,
-	    src/memline.c, src/structs.h
-
-
-*** ../vim-7.4.212/runtime/doc/recover.txt	2013-08-10 13:25:00.000000000 +0200
---- runtime/doc/recover.txt	2014-03-23 16:01:59.655309841 +0100
-***************
-*** 81,87 ****
-  'maxmemtot'.  And when making a change to a read-only file, the swap file is
-  created anyway.
-  
-! The 'swapfile' option can be reset to avoid creating a swapfile.
-  
-  
-  Detecting an existing swap file ~
---- 81,94 ----
-  'maxmemtot'.  And when making a change to a read-only file, the swap file is
-  created anyway.
-  
-! The 'swapfile' option can be reset to avoid creating a swapfile.  And the
-! |:noswapfile| modifier can be used to not create a swapfile for a new buffer.
-! 
-! :noswap[file]   {command}			*:noswap* *:noswapfile*
-! 		Execute {command}. If it contains a command that loads a new
-! 		buffer, it will be loaded without creating a swapfile and the
-! 		'swapfile' option will be reset.  If a buffer already had a
-! 		swapfile it is not removed and 'swapfile' is not reset.
-  
-  
-  Detecting an existing swap file ~
-*** ../vim-7.4.212/src/ex_cmds.h	2014-03-22 13:29:57.693846167 +0100
---- src/ex_cmds.h	2014-03-23 15:36:42.399286592 +0100
-***************
-*** 655,660 ****
---- 655,662 ----
-  			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_noremenu,	"noremenu",	ex_menu,
-  			RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-+ EX(CMD_noswapfile,	"noswapfile",	ex_wrongmodifier,
-+ 			NEEDARG|EXTRA|NOTRLCOM),
-  EX(CMD_normal,		"normal",	ex_normal,
-  			RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN),
-  EX(CMD_number,		"number",	ex_print,
-*** ../vim-7.4.212/src/ex_docmd.c	2014-03-23 15:12:29.919264336 +0100
---- src/ex_docmd.c	2014-03-23 15:44:42.335293946 +0100
-***************
-*** 1874,1891 ****
-  #endif
-  			continue;
-  
-! 	    case 'n':	if (!checkforcmd(&ea.cmd, "noautocmd", 3))
-! 			    break;
-! #ifdef FEAT_AUTOCMD
-! 			if (cmdmod.save_ei == NULL)
-  			{
-! 			    /* Set 'eventignore' to "all". Restore the
-! 			     * existing option value later. */
-! 			    cmdmod.save_ei = vim_strsave(p_ei);
-! 			    set_string_option_direct((char_u *)"ei", -1,
-  					 (char_u *)"all", OPT_FREE, SID_NONE);
-! 			}
-  #endif
-  			continue;
-  
-  	    case 'r':	if (!checkforcmd(&ea.cmd, "rightbelow", 6))
---- 1874,1896 ----
-  #endif
-  			continue;
-  
-! 	    case 'n':	if (checkforcmd(&ea.cmd, "noautocmd", 3))
-  			{
-! #ifdef FEAT_AUTOCMD
-! 			    if (cmdmod.save_ei == NULL)
-! 			    {
-! 				/* Set 'eventignore' to "all". Restore the
-! 				 * existing option value later. */
-! 				cmdmod.save_ei = vim_strsave(p_ei);
-! 				set_string_option_direct((char_u *)"ei", -1,
-  					 (char_u *)"all", OPT_FREE, SID_NONE);
-! 			    }
-  #endif
-+ 			    continue;
-+ 			}
-+ 			if (!checkforcmd(&ea.cmd, "noswapfile", 6))
-+ 			    break;
-+ 			cmdmod.noswapfile = TRUE;
-  			continue;
-  
-  	    case 'r':	if (!checkforcmd(&ea.cmd, "rightbelow", 6))
-***************
-*** 2596,2601 ****
---- 2601,2608 ----
-  	    case CMD_lua:
-  	    case CMD_match:
-  	    case CMD_mzscheme:
-+ 	    case CMD_noautocmd:
-+ 	    case CMD_noswapfile:
-  	    case CMD_perl:
-  	    case CMD_psearch:
-  	    case CMD_python:
-***************
-*** 3099,3104 ****
---- 3106,3112 ----
-      {"leftabove", 5, FALSE},
-      {"lockmarks", 3, FALSE},
-      {"noautocmd", 3, FALSE},
-+     {"noswapfile", 3, FALSE},
-      {"rightbelow", 6, FALSE},
-      {"sandbox", 3, FALSE},
-      {"silent", 3, FALSE},
-***************
-*** 3611,3616 ****
---- 3619,3626 ----
-  	case CMD_keeppatterns:
-  	case CMD_leftabove:
-  	case CMD_lockmarks:
-+ 	case CMD_noautocmd:
-+ 	case CMD_noswapfile:
-  	case CMD_rightbelow:
-  	case CMD_sandbox:
-  	case CMD_silent:
-*** ../vim-7.4.212/src/memline.c	2014-02-11 15:23:27.942123631 +0100
---- src/memline.c	2014-03-23 15:48:05.679297062 +0100
-***************
-*** 289,294 ****
---- 289,297 ----
-      buf->b_ml.ml_chunksize = NULL;
-  #endif
-  
-+     if (cmdmod.noswapfile)
-+ 	buf->b_p_swf = FALSE;
-+ 
-      /*
-       * When 'updatecount' is non-zero swap file may be opened later.
-       */
-***************
-*** 606,612 ****
-  	 * When 'updatecount' is 0 and 'noswapfile' there is no swap file.
-  	 * For help files we will make a swap file now.
-  	 */
-! 	if (p_uc != 0)
-  	    ml_open_file(buf);	    /* create a swap file */
-  	return;
-      }
---- 609,615 ----
-  	 * When 'updatecount' is 0 and 'noswapfile' there is no swap file.
-  	 * For help files we will make a swap file now.
-  	 */
-! 	if (p_uc != 0 && !cmdmod.noswapfile)
-  	    ml_open_file(buf);	    /* create a swap file */
-  	return;
-      }
-***************
-*** 719,725 ****
-      char_u	*dirp;
-  
-      mfp = buf->b_ml.ml_mfp;
-!     if (mfp == NULL || mfp->mf_fd >= 0 || !buf->b_p_swf)
-  	return;		/* nothing to do */
-  
-  #ifdef FEAT_SPELL
---- 722,728 ----
-      char_u	*dirp;
-  
-      mfp = buf->b_ml.ml_mfp;
-!     if (mfp == NULL || mfp->mf_fd >= 0 || !buf->b_p_swf || cmdmod.noswapfile)
-  	return;		/* nothing to do */
-  
-  #ifdef FEAT_SPELL
-*** ../vim-7.4.212/src/structs.h	2014-03-23 15:12:29.943264337 +0100
---- src/structs.h	2014-03-23 15:36:42.407286592 +0100
-***************
-*** 545,550 ****
---- 545,551 ----
-      int		keepjumps;		/* TRUE when ":keepjumps" was used */
-      int		lockmarks;		/* TRUE when ":lockmarks" was used */
-      int		keeppatterns;		/* TRUE when ":keeppatterns" was used */
-+     int		noswapfile;		/* TRUE when ":noswapfile" was used */
-  # ifdef FEAT_AUTOCMD
-      char_u	*save_ei;		/* saved value of 'eventignore' */
-  # endif
-*** ../vim-7.4.212/src/version.c	2014-03-23 15:12:29.943264337 +0100
---- src/version.c	2014-03-23 16:02:16.519310100 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     213,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.214 b/7.4.214
deleted file mode 100644
index bdce8be..0000000
--- a/7.4.214
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.214
-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.214
-Problem:    Compilation problems on HP_nonStop (Tandem).
-Solution:   Add #defines. (Joachim Schmitz)
-Files:	    src/vim.h
-
-
-*** ../vim-7.4.213/src/vim.h	2014-02-23 22:52:33.352764716 +0100
---- src/vim.h	2014-03-24 17:25:40.328710672 +0100
-***************
-*** 77,82 ****
---- 77,86 ----
-  # endif
-  # include <floss.h>
-  # define ROOT_UID 65535
-+ # define OLDXAW
-+ # if (_TANDEM_ARCH_ == 2 && __H_Series_RVU >= 621)
-+ #  define SA_ONSTACK_COMPATIBILITY
-+ # endif
-  #else
-  # define ROOT_UID 0
-  #endif
-*** ../vim-7.4.213/src/version.c	2014-03-23 16:03:56.171311627 +0100
---- src/version.c	2014-03-24 17:26:50.976711754 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     214,
-  /**/
-
--- 
-ARTHUR:       You are indeed brave Sir knight, but the fight is mine.
-BLACK KNIGHT: Had enough?
-ARTHUR:       You stupid bastard.  You havn't got any arms left.
-                 "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    ///
diff --git a/7.4.215 b/7.4.215
deleted file mode 100644
index ff65a62..0000000
--- a/7.4.215
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.215
-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.215
-Problem:    Inconsistency: ":sp foo" does not reload "foo", unless "foo" is
-	    the current buffer. (Liang Li)
-Solution:   Do not reload the current buffer on a split command.
-Files:	    runtime/doc/windows.txt, src/ex_docmd.c
-
-
-*** ../vim-7.4.214/runtime/doc/windows.txt	2013-08-10 13:25:08.000000000 +0200
---- runtime/doc/windows.txt	2014-03-25 12:34:51.989767212 +0100
-***************
-*** 132,144 ****
-  CTRL-W s						*CTRL-W_s*
-  CTRL-W S						*CTRL-W_S*
-  CTRL-W CTRL-S						*CTRL-W_CTRL-S*
-! :[N]sp[lit] [++opt] [+cmd]				*:sp* *:split*
-  		Split current window in two.  The result is two viewports on
-! 		the same file.  Make new window N high (default is to use half
-! 		the height of the current window).  Reduces the current window
-! 		height to create room (and others, if the 'equalalways' option
-! 		is set, 'eadirection' isn't "hor", and one of them is higher
-! 		than the current or the new window).
-  		Note: CTRL-S does not work on all terminals and might block
-  		further input, use CTRL-Q to get going again.
-  		Also see |++opt| and |+cmd|.
---- 132,151 ----
-  CTRL-W s						*CTRL-W_s*
-  CTRL-W S						*CTRL-W_S*
-  CTRL-W CTRL-S						*CTRL-W_CTRL-S*
-! :[N]sp[lit] [++opt] [+cmd] [file]			*:sp* *:split*
-  		Split current window in two.  The result is two viewports on
-! 		the same file.
-! 		
-! 		Make the new window N high (default is to use half the height
-! 		of the current window).  Reduces the current window height to
-! 		create room (and others, if the 'equalalways' option is set,
-! 		'eadirection' isn't "hor", and one of them is higher than the
-! 		current or the new window).
-! 
-! 		If [file] is given it will be edited in the new window.  If it
-! 		is not loaded in any buffer, it will be read.  Else the new
-! 		window will use the already loaded buffer.
-! 
-  		Note: CTRL-S does not work on all terminals and might block
-  		further input, use CTRL-Q to get going again.
-  		Also see |++opt| and |+cmd|.
-*** ../vim-7.4.214/src/ex_docmd.c	2014-03-23 16:03:56.167311626 +0100
---- src/ex_docmd.c	2014-03-25 12:57:13.737787771 +0100
-***************
-*** 7938,7943 ****
---- 7938,7945 ----
-  					       ? ECMD_ONE : eap->do_ecmd_lnum,
-  		    (P_HID(curbuf) ? ECMD_HIDE : 0)
-  		    + (eap->forceit ? ECMD_FORCEIT : 0)
-+ 		      /* after a split we can use an existing buffer */
-+ 		    + (old_curwin != NULL ? ECMD_OLDBUF : 0)
-  #ifdef FEAT_LISTCMDS
-  		    + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
-  #endif
-*** ../vim-7.4.214/src/version.c	2014-03-24 19:43:56.604837795 +0100
---- src/version.c	2014-03-25 12:30:13.137762939 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     215,
-  /**/
-
--- 
-BLACK KNIGHT: The Black Knight always triumphs. Have at you!
-   ARTHUR takes his last leg off.  The BLACK KNIGHT's body lands upright.
-BLACK KNIGHT: All right, we'll call it a draw.
-                 "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    ///
diff --git a/7.4.216 b/7.4.216
deleted file mode 100644
index ebf78d1..0000000
--- a/7.4.216
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.216
-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.216
-Problem:    Compiler warnings. (Tony Mechelynck)
-Solution:   Initialize variables, add #ifdef.
-Files:	    src/term.c, src/os_unix.h
-
-
-*** ../vim-7.4.215/src/term.c	2014-03-23 15:12:29.939264336 +0100
---- src/term.c	2014-03-25 13:39:10.821826340 +0100
-***************
-*** 4185,4191 ****
-  	    {
-  #ifdef FEAT_MBYTE
-  		int col;
-! 		int row_char;
-  #endif
-  		j = 0;
-  		extra = 0;
---- 4185,4191 ----
-  	    {
-  #ifdef FEAT_MBYTE
-  		int col;
-! 		int row_char = NUL;
-  #endif
-  		j = 0;
-  		extra = 0;
-*** ../vim-7.4.215/src/os_unix.h	2014-03-12 16:51:35.060792541 +0100
---- src/os_unix.h	2014-03-25 13:42:35.141829471 +0100
-***************
-*** 565,571 ****
-  # endif
-  #endif
-  
-! #define HAVE_DUP		/* have dup() */
-  #define HAVE_ST_MODE		/* have stat.st_mode */
-  
-  /* We have three kinds of ACL support. */
---- 565,573 ----
-  # endif
-  #endif
-  
-! #ifndef HAVE_DUP
-! # define HAVE_DUP		/* have dup() */
-! #endif
-  #define HAVE_ST_MODE		/* have stat.st_mode */
-  
-  /* We have three kinds of ACL support. */
-*** ../vim-7.4.215/src/version.c	2014-03-25 13:03:44.937793766 +0100
---- src/version.c	2014-03-25 13:40:36.969827660 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     216,
-  /**/
-
--- 
-Hacker: Someone skilled in computer programming (good guy).
-Cracker: A hacker that uses his skills to crack software (bad guy).
-
- /// 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    ///
diff --git a/7.4.217 b/7.4.217
deleted file mode 100644
index 9af7857..0000000
--- a/7.4.217
+++ /dev/null
@@ -1,85 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.217
-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.217
-Problem:    When src/auto/configure was updated, "make clean" would run
-	    configure pointlessly.
-Solution:   Do not run configure for "make clean" and "make distclean" when
-	    the make program supports $MAKECMDGOALS. (Ken Takata)
-Files:	    src/Makefile
-
-
-*** ../vim-7.4.216/src/Makefile	2014-02-05 12:36:36.622026833 +0100
---- src/Makefile	2014-03-25 15:31:10.629929307 +0100
-***************
-*** 546,551 ****
---- 546,552 ----
-  # again.
-  #CC = cc
-  #CC = gcc
-+ #CC = clang
-  
-  # COMPILER FLAGS - change as you please. Either before running {{{1
-  # configure or afterwards. For examples see below.
-***************
-*** 1666,1672 ****
-  	    ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
-  		rm auto/config.cache; \
-  	fi
-! 	GUI_INC_LOC="$(GUI_INC_LOC)" GUI_LIB_LOC="$(GUI_LIB_LOC)" \
-  		CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
-  		LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
-  		./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
---- 1667,1674 ----
-  	    ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
-  		rm auto/config.cache; \
-  	fi
-! 	if test "X$(MAKECMDGOALS)" != "Xclean" -a "X$(MAKECMDGOALS)" != "Xdistclean"; then \
-! 	    GUI_INC_LOC="$(GUI_INC_LOC)" GUI_LIB_LOC="$(GUI_LIB_LOC)" \
-  		CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
-  		LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
-  		./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
-***************
-*** 1679,1685 ****
-  		$(CONF_OPT_COMPBY) $(CONF_OPT_ACL)  $(CONF_OPT_NETBEANS) \
-  		$(CONF_ARGS) $(CONF_OPT_MZSCHEME) $(CONF_OPT_PLTHOME) \
-  		$(CONF_OPT_LUA) $(CONF_OPT_LUA_PREFIX) \
-! 		$(CONF_OPT_SYSMOUSE)
-  
-  # Use "make reconfig" to rerun configure without cached values.
-  # When config.h changes, most things will be recompiled automatically.
---- 1681,1688 ----
-  		$(CONF_OPT_COMPBY) $(CONF_OPT_ACL)  $(CONF_OPT_NETBEANS) \
-  		$(CONF_ARGS) $(CONF_OPT_MZSCHEME) $(CONF_OPT_PLTHOME) \
-  		$(CONF_OPT_LUA) $(CONF_OPT_LUA_PREFIX) \
-! 		$(CONF_OPT_SYSMOUSE); \
-! 	fi
-  
-  # Use "make reconfig" to rerun configure without cached values.
-  # When config.h changes, most things will be recompiled automatically.
-*** ../vim-7.4.216/src/version.c	2014-03-25 13:46:22.841832960 +0100
---- src/version.c	2014-03-25 15:32:30.813930536 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     217,
-  /**/
-
--- 
-CRONE:  Who sent you?
-ARTHUR: The Knights Who Say GNU!
-CRONE:  Aaaagh!  (she looks around in rear) No!  We have no licenses here.
-           "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE 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    ///
diff --git a/7.4.218 b/7.4.218
deleted file mode 100644
index b878cb7..0000000
--- a/7.4.218
+++ /dev/null
@@ -1,578 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.218
-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.218
-Problem:    It's not easy to remove duplicates from a list.
-Solution:   Add the uniq() function. (LCD)
-Files:	    runtime/doc/change.txt, runtime/doc/eval.txt,
-	    runtime/doc/usr_41.txt, runtime/doc/version7.txt, src/eval.c,
-	    src/testdir/test55.in, src/testdir/test55.ok
-
-
-*** ../vim-7.4.217/runtime/doc/change.txt	2013-09-22 15:23:38.000000000 +0200
---- runtime/doc/change.txt	2014-03-25 17:32:29.510040841 +0100
-***************
-*** 1645,1651 ****
-  7. Sorting text						*sorting*
-  
-  Vim has a sorting function and a sorting command.  The sorting function can be
-! found here: |sort()|.
-  
-  							*:sor* *:sort*
-  :[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
---- 1650,1656 ----
-  7. Sorting text						*sorting*
-  
-  Vim has a sorting function and a sorting command.  The sorting function can be
-! found here: |sort()|, |uniq()|.
-  
-  							*:sor* *:sort*
-  :[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
-*** ../vim-7.4.217/runtime/doc/eval.txt	2014-02-23 23:38:58.820760280 +0100
---- runtime/doc/eval.txt	2014-03-25 17:47:18.750054467 +0100
-***************
-*** 326,331 ****
---- 327,333 ----
-  Changing the order of items in a list: >
-  	:call sort(list)		" sort a list alphabetically
-  	:call reverse(list)		" reverse the order of items
-+ 	:call uniq(sort(list))		" sort and remove duplicates
-  
-  
-  For loop ~
-***************
-*** 1518,1523 ****
---- 1520,1526 ----
-  		startup.  These are the files that Vim remembers marks for.
-  		The length of the List is limited by the ' argument of the
-  		'viminfo' option (default is 100).
-+ 		When the |viminfo| file is not used the List is empty.
-  		Also see |:oldfiles| and |c_#<|.
-  		The List can be modified, but this has no effect on what is
-  		stored in the |viminfo| file later.  If you use values other
-***************
-*** 2003,2008 ****
---- 2006,2013 ----
-  type( {name})			Number	type of variable {name}
-  undofile( {name})		String	undo file name for {name}
-  undotree()			List	undo file tree
-+ uniq( {list} [, {func} [, {dict}]])
-+ 				List	remove adjacent duplicates from a list
-  values( {dict})			List	values in {dict}
-  virtcol( {expr})		Number	screen column of cursor or mark
-  visualmode( [expr])		String	last visual mode used
-***************
-*** 5474,5493 ****
-  
-  
-  sort({list} [, {func} [, {dict}]])			*sort()* *E702*
-! 		Sort the items in {list} in-place.  Returns {list}.  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.
-- 		{dict} is for functions with the "dict" attribute.  It will be
-- 		used to set the local variable "self". |Dictionary-function|
-  		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
-  		bigger if the first one sorts after the second one, -1 or
-  		smaller if the first one sorts before the second one.
-  		Example: >
-  			func MyCompare(i1, i2)
-  			   return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
---- 5491,5516 ----
-  
-  
-  sort({list} [, {func} [, {dict}]])			*sort()* *E702*
-! 		Sort the items in {list} in-place.  Returns {list}.
-! 		
-! 		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
-  		bigger if the first one sorts after the second one, -1 or
-  		smaller if the first one sorts before the second one.
-+ 
-+ 		{dict} is for functions with the "dict" attribute.  It will be
-+ 		used to set the local variable "self". |Dictionary-function|
-+ 
-+ 		Also see |uniq()|.
-+ 
-  		Example: >
-  			func MyCompare(i1, i2)
-  			   return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
-***************
-*** 6155,6160 ****
---- 6178,6191 ----
-  				blocks.  Each item may again have an "alt"
-  				item.
-  
-+ uniq({list} [, {func} [, {dict}]])			*uniq()* *E882*
-+ 		Remove second and succeeding copies of repeated adjacent
-+ 		{list} items in-place.  Returns {list}.  If you want a list
-+ 		to remain unmodified make a copy first: >
-+ 			:let newlist = uniq(copy(mylist))
-+ <		The default compare function uses the string representation of
-+ 		each item.  For the use of {func} and {dict} see |sort()|.
-+ 
-  values({dict})						*values()*
-  		Return a |List| with all the values of {dict}.	The |List| is
-  		in arbitrary order.
-*** ../vim-7.4.217/runtime/doc/usr_41.txt	2013-08-10 13:25:05.000000000 +0200
---- runtime/doc/usr_41.txt	2014-03-25 17:32:29.518040841 +0100
-***************
-*** 1,4 ****
-! *usr_41.txt*	For Vim version 7.4.  Last change: 2013 Feb 20
-  
-  		     VIM USER MANUAL - by Bram Moolenaar
-  
---- 1,4 ----
-! *usr_41.txt*	For Vim version 7.4.  Last change: 2014 Jan 10
-  
-  		     VIM USER MANUAL - by Bram Moolenaar
-  
-***************
-*** 595,607 ****
-  	matchlist()		like matchstr() and also return submatches
-  	stridx()		first index of a short string in a long string
-  	strridx()		last index of a short string in a long string
-! 	strlen()		length of a string
-  	substitute()		substitute a pattern match with a string
-  	submatch()		get a specific match in ":s" and substitute()
-  	strpart()		get part of a string
-  	expand()		expand special keywords
-  	iconv()			convert text from one encoding to another
-  	byteidx()		byte index of a character in a string
-  	repeat()		repeat a string multiple times
-  	eval()			evaluate a string expression
-  
---- 595,611 ----
-  	matchlist()		like matchstr() and also return submatches
-  	stridx()		first index of a short string in a long string
-  	strridx()		last index of a short string in a long string
-! 	strlen()		length of a string in bytes
-! 	strchars()		length of a string in characters
-! 	strwidth()		size of string when displayed
-! 	strdisplaywidth()	size of string when displayed, deals with tabs
-  	substitute()		substitute a pattern match with a string
-  	submatch()		get a specific match in ":s" and substitute()
-  	strpart()		get part of a string
-  	expand()		expand special keywords
-  	iconv()			convert text from one encoding to another
-  	byteidx()		byte index of a character in a string
-+ 	byteidxcomp()		like byteidx() but count composing characters
-  	repeat()		repeat a string multiple times
-  	eval()			evaluate a string expression
-  
-***************
-*** 619,624 ****
---- 623,629 ----
-  	map()			change each List item
-  	sort()			sort a List
-  	reverse()		reverse the order of a List
-+ 	uniq()			remove copies of repeated adjacent items
-  	split()			split a String into a List
-  	join()			join List items into a String
-  	range()			return a List with a sequence of numbers
-***************
-*** 656,661 ****
---- 661,669 ----
-  	ceil()			round up
-  	floor()			round down
-  	trunc()			remove value after decimal point
-+ 	fmod()			remainder of division
-+ 	exp()			exponential
-+ 	log()			natural logarithm (logarithm to base e)
-  	log10()			logarithm to base 10
-  	pow()			value of x to the exponent y
-  	sqrt()			square root
-***************
-*** 675,680 ****
---- 683,689 ----
-  	invert()		bitwise invert
-  	or()			bitwise OR
-  	xor()			bitwise XOR
-+ 	sha256()		SHA-256 hash
-  
-  Variables:						*var-functions*
-  	type()			type of a variable
-***************
-*** 697,707 ****
---- 706,720 ----
-  	wincol()		window column number of the cursor
-  	winline()		window line number of the cursor
-  	cursor()		position the cursor at a line/column
-+ 	screencol()		get screen column of the cursor
-+ 	screenrow()		get screen row of the cursor
-  	getpos()		get position of cursor, mark, etc.
-  	setpos()		set position of cursor, mark, etc.
-  	byte2line()		get line number at a specific byte count
-  	line2byte()		byte count at a specific line
-  	diff_filler()		get the number of filler lines above a line
-+ 	screenattr()		get attribute at a screen line/row
-+ 	screenchar()		get character code at a screen line/row
-  
-  Working with text in the current buffer:		*text-functions*
-  	getline()		get a line or list of lines from the buffer
-***************
-*** 883,896 ****
---- 896,917 ----
-  	libcall()		call a function in an external library
-  	libcallnr()		idem, returning a number
-  
-+ 	undofile()		get the name of the undo file
-+ 	undotree()		return the state of the undo tree
-+ 
-  	getreg()		get contents of a register
-  	getregtype()		get type of a register
-  	setreg()		set contents and type of a register
-  
-+ 	shiftwidth()		effective value of 'shiftwidth'
-+ 
-  	taglist()		get list of matching tags
-  	tagfiles()		get a list of tags files
-  
-+ 	luaeval()		evaluate Lua expression
-  	mzeval()		evaluate |MzScheme| expression
-+ 	py3eval()		evaluate Python expression (|+python3|)
-+ 	pyeval()		evaluate Python expression (|+python|)
-  
-  ==============================================================================
-  *41.7*	Defining a function
-*** ../vim-7.4.217/runtime/doc/version7.txt	2013-08-10 14:23:06.000000000 +0200
---- runtime/doc/version7.txt	2014-03-25 17:32:29.518040841 +0100
-***************
-*** 942,947 ****
---- 942,948 ----
-  |tagfiles()|		List with tags file names
-  |taglist()|		get list of matching tags (Yegappan Lakshmanan)
-  |tr()|			translate characters (Ron Aaron)
-+ |uniq()|		remove copies of repeated adjacent list items
-  |values()|		get List of Dictionary values
-  |winnr()|		takes an argument: what window to use
-  |winrestview()|		restore the view of the current window
-*** ../vim-7.4.217/src/eval.c	2014-03-23 15:12:29.915264336 +0100
---- src/eval.c	2014-03-25 17:52:09.554058923 +0100
-***************
-*** 744,749 ****
---- 744,750 ----
-  static void f_type __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_undofile __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_undotree __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void f_uniq __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_values __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_virtcol __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_visualmode __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 8150,8155 ****
---- 8151,8157 ----
-      {"type",		1, 1, f_type},
-      {"undofile",	1, 1, f_undofile},
-      {"undotree",	0, 0, f_undotree},
-+     {"uniq",		1, 3, f_uniq},
-      {"values",		1, 1, f_values},
-      {"virtcol",		1, 1, f_virtcol},
-      {"visualmode",	0, 1, f_visualmode},
-***************
-*** 17023,17032 ****
-  static char_u	*item_compare_func;
-  static dict_T	*item_compare_selfdict;
-  static int	item_compare_func_err;
-  #define ITEM_COMPARE_FAIL 999
-  
-  /*
-!  * Compare functions for f_sort() below.
-   */
-      static int
-  #ifdef __BORLANDC__
---- 17025,17035 ----
-  static char_u	*item_compare_func;
-  static dict_T	*item_compare_selfdict;
-  static int	item_compare_func_err;
-+ static void	do_sort_uniq __ARGS((typval_T *argvars, typval_T *rettv, int sort));
-  #define ITEM_COMPARE_FAIL 999
-  
-  /*
-!  * Compare functions for f_sort() and f_uniq() below.
-   */
-      static int
-  #ifdef __BORLANDC__
-***************
-*** 17100,17108 ****
-   * "sort({list})" function
-   */
-      static void
-! f_sort(argvars, rettv)
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-      list_T	*l;
-      listitem_T	*li;
---- 17103,17112 ----
-   * "sort({list})" function
-   */
-      static void
-! do_sort_uniq(argvars, rettv, sort)
-      typval_T	*argvars;
-      typval_T	*rettv;
-+     int		sort;
-  {
-      list_T	*l;
-      listitem_T	*li;
-***************
-*** 17111,17122 ****
-      long	i;
-  
-      if (argvars[0].v_type != VAR_LIST)
-! 	EMSG2(_(e_listarg), "sort()");
-      else
-      {
-  	l = argvars[0].vval.v_list;
-  	if (l == NULL || tv_check_lock(l->lv_lock,
-! 					     (char_u *)_("sort() argument")))
-  	    return;
-  	rettv->vval.v_list = l;
-  	rettv->v_type = VAR_LIST;
---- 17115,17126 ----
-      long	i;
-  
-      if (argvars[0].v_type != VAR_LIST)
-! 	EMSG2(_(e_listarg), sort ? "sort()" : "uniq()");
-      else
-      {
-  	l = argvars[0].vval.v_list;
-  	if (l == NULL || tv_check_lock(l->lv_lock,
-! 	       (char_u *)(sort ? _("sort() argument") : _("uniq() argument"))))
-  	    return;
-  	rettv->vval.v_list = l;
-  	rettv->v_type = VAR_LIST;
-***************
-*** 17163,17191 ****
-  	ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *)));
-  	if (ptrs == NULL)
-  	    return;
-- 	i = 0;
-- 	for (li = l->lv_first; li != NULL; li = li->li_next)
-- 	    ptrs[i++] = li;
-  
-! 	item_compare_func_err = FALSE;
-! 	/* test the compare function */
-! 	if (item_compare_func != NULL
-! 		&& item_compare2((void *)&ptrs[0], (void *)&ptrs[1])
-  							 == ITEM_COMPARE_FAIL)
-! 	    EMSG(_("E702: Sort compare function failed"));
-  	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)
-  	    {
-! 		/* Clear the List and append the items in the sorted order. */
-! 		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]);
-  	    }
-  	}
-  
---- 17167,17238 ----
-  	ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *)));
-  	if (ptrs == NULL)
-  	    return;
-  
-! 	i = 0;
-! 	if (sort)
-! 	{
-! 	    /* 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;
-! 	    /* test the compare function */
-! 	    if (item_compare_func != NULL
-! 		    && item_compare2((void *)&ptrs[0], (void *)&ptrs[1])
-  							 == ITEM_COMPARE_FAIL)
-! 		EMSG(_("E702: Sort compare function failed"));
-! 	    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)
-! 		{
-! 		    /* Clear the List and append the items in sorted order. */
-! 		    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]);
-! 		}
-! 	    }
-! 	}
-  	else
-  	{
-! 	    int	(*item_compare_func_ptr)__ARGS((const void *, const void *));
-! 
-! 	    /* f_uniq(): ptrs will be a stack of items to remove */
-! 	    item_compare_func_err = FALSE;
-! 	    item_compare_func_ptr = item_compare_func
-! 					       ? item_compare2 : item_compare;
-! 
-! 	    for (li = l->lv_first; li != NULL && li->li_next != NULL;
-! 							     li = li->li_next)
-! 	    {
-! 		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"));
-! 		    break;
-! 		}
-! 	    }
-  
-  	    if (!item_compare_func_err)
-  	    {
-! 		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--;
-! 		}
-  	    }
-  	}
-  
-***************
-*** 17194,17199 ****
---- 17241,17268 ----
-  }
-  
-  /*
-+  * "sort({list})" function
-+  */
-+     static void
-+ f_sort(argvars, rettv)
-+     typval_T	*argvars;
-+     typval_T	*rettv;
-+ {
-+     do_sort_uniq(argvars, rettv, TRUE);
-+ }
-+ 
-+ /*
-+  * "uniq({list})" function
-+  */
-+     static void
-+ f_uniq(argvars, rettv)
-+     typval_T	*argvars;
-+     typval_T	*rettv;
-+ {
-+     do_sort_uniq(argvars, rettv, FALSE);
-+ }
-+ 
-+ /*
-   * "soundfold({word})" function
-   */
-      static void
-*** ../vim-7.4.217/src/testdir/test55.in	2014-01-14 15:24:24.000000000 +0100
---- src/testdir/test55.in	2014-03-25 17:32:29.522040841 +0100
-***************
-*** 323,335 ****
-  :  $put ='caught ' . v:exception
-  :endtry
-  :"
-! :" reverse() and sort()
-! :let l = ['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', [0, 1, 2], 'x8']
-  :$put =string(reverse(l))
-  :$put =string(reverse(reverse(l)))
-  :$put =string(sort(l))
-  :$put =string(reverse(sort(l)))
-  :$put =string(sort(reverse(sort(l))))
-  :"
-  :" splitting a string to a List
-  :$put =string(split('  aa  bb '))
---- 323,337 ----
-  :  $put ='caught ' . v:exception
-  :endtry
-  :"
-! :" reverse(), sort(), uniq()
-! :let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5]
-! :$put =string(uniq(copy(l)))
-  :$put =string(reverse(l))
-  :$put =string(reverse(reverse(l)))
-  :$put =string(sort(l))
-  :$put =string(reverse(sort(l)))
-  :$put =string(sort(reverse(sort(l))))
-+ :$put =string(uniq(sort(l)))
-  :"
-  :" splitting a string to a List
-  :$put =string(split('  aa  bb '))
-*** ../vim-7.4.217/src/testdir/test55.ok	2014-01-14 15:24:24.000000000 +0100
---- src/testdir/test55.ok	2014-03-25 17:32:29.522040841 +0100
-***************
-*** 94,104 ****
-  caught a:000[2]
-  caught a:000[3]
-  [1, 2, [3, 9, 5, 6], {'a': 12, '5': 8}]
-! ['x8', [0, 1, 2], 'foo6', 'foo', 4, 'xaaa', 2, 'A11', '-0']
-! ['x8', [0, 1, 2], 'foo6', 'foo', 4, 'xaaa', 2, 'A11', '-0']
-! ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 2, 4, [0, 1, 2]]
-! [[0, 1, 2], 4, 2, 'xaaa', 'x8', 'foo6', 'foo', 'A11', '-0']
-! ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 2, 4, [0, 1, 2]]
-  ['aa', 'bb']
-  ['aa', 'bb']
-  ['', 'aa', 'bb', '']
---- 94,106 ----
-  caught a:000[2]
-  caught a:000[3]
-  [1, 2, [3, 9, 5, 6], {'a': 12, '5': 8}]
-! ['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5]
-! [1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0']
-! [1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0']
-! ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
-! [[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]]
-  ['aa', 'bb']
-  ['aa', 'bb']
-  ['', 'aa', 'bb', '']
-*** ../vim-7.4.217/src/version.c	2014-03-25 18:05:45.242071421 +0100
---- src/version.c	2014-03-25 17:34:51.918043023 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     218,
-  /**/
-
--- 
-Never under any circumstances take a sleeping pill
-and a laxative on the same night.
-
- /// 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    ///
diff --git a/7.4.219 b/7.4.219
deleted file mode 100644
index 69a5177..0000000
--- a/7.4.219
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.219
-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.219
-Problem:    When 'relativenumber' or 'cursorline' are set the window is
-	    redrawn much to often. (Patrick Hemmer, Dominique Pelle)
-Solution:   Check the VALID_CROW flag instead of VALID_WROW.
-Files:	    src/move.c
-
-
-*** ../vim-7.4.218/src/move.c	2014-03-23 15:12:29.927264336 +0100
---- src/move.c	2014-03-27 11:59:28.524382473 +0100
-***************
-*** 772,777 ****
---- 772,791 ----
-  	}
-      }
-  
-+     /* Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
-+      * set. */
-+     if ((curwin->w_p_rnu
-+ #ifdef FEAT_SYN_HL
-+ 		|| curwin->w_p_cul
-+ #endif
-+ 		)
-+ 	    && (curwin->w_valid & VALID_CROW) == 0
-+ # ifdef FEAT_INS_EXPAND
-+ 	    && !pum_visible()
-+ # endif
-+ 	    )
-+ 	redraw_later(SOME_VALID);
-+ 
-      wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
-  
-      /* validate botline too, if update_screen doesn't do it */
-***************
-*** 1172,1193 ****
-      if (prev_skipcol != curwin->w_skipcol)
-  	redraw_later(NOT_VALID);
-  
--     /* Redraw when w_row changes and 'relativenumber' is set */
--     if (((curwin->w_valid & VALID_WROW) == 0 && (curwin->w_p_rnu
-  #ifdef FEAT_SYN_HL
-! 	/* or when w_row changes and 'cursorline' is set. */
-! 						|| curwin->w_p_cul
-! #endif
-! 	))
-! #ifdef FEAT_SYN_HL
-! 	/* or when w_virtcol changes and 'cursorcolumn' is set */
-! 	|| (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0)
-! #endif
-! 	)
-  # ifdef FEAT_INS_EXPAND
-! 	    if (!pum_visible())
-  # endif
-! 		redraw_later(SOME_VALID);
-  
-      curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
-  }
---- 1186,1200 ----
-      if (prev_skipcol != curwin->w_skipcol)
-  	redraw_later(NOT_VALID);
-  
-  #ifdef FEAT_SYN_HL
-!     /* Redraw when w_virtcol changes and 'cursorcolumn' is set */
-!     if (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0
-  # ifdef FEAT_INS_EXPAND
-! 	    && !pum_visible()
-  # endif
-! 	)
-! 	redraw_later(SOME_VALID);
-! #endif
-  
-      curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
-  }
-*** ../vim-7.4.218/src/version.c	2014-03-25 18:23:27.062087691 +0100
---- src/version.c	2014-03-27 12:11:15.276393302 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     219,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.220 b/7.4.220
deleted file mode 100644
index 6df81d8..0000000
--- a/7.4.220
+++ /dev/null
@@ -1,106 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.220
-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.220
-Problem:    Test 105 does not work in a shadow dir. (James McCoy)
-Solution:   Omit "src/" from the checked path.
-Files:	    src/testdir/test105.in, src/testdir/test105.ok
-
-
-*** ../vim-7.4.219/src/testdir/test105.in	2014-02-23 23:38:58.812760280 +0100
---- src/testdir/test105.in	2014-03-27 12:31:45.052412146 +0100
-***************
-*** 7,13 ****
-  :set shellslash
-  :let tab="\t"
-  :command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))
-! :let $HOME=fnamemodify('.', ':p:h:h:h')
-  :Put fnamemodify('.',              ':p'      )[-1:]
-  :Put fnamemodify('.',              ':p:h'    )[-1:]
-  :Put fnamemodify('test.out',       ':p'      )[-1:]
---- 7,13 ----
-  :set shellslash
-  :let tab="\t"
-  :command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))
-! :let $HOME=fnamemodify('.', ':p:h:h')
-  :Put fnamemodify('.',              ':p'      )[-1:]
-  :Put fnamemodify('.',              ':p:h'    )[-1:]
-  :Put fnamemodify('test.out',       ':p'      )[-1:]
-***************
-*** 23,29 ****
-  :Put fnamemodify('abc.fb2.tar.gz', ':r'      )
-  :Put fnamemodify('abc.fb2.tar.gz', ':r:r'    )
-  :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )
-! :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '')
-  :Put fnamemodify('abc.fb2.tar.gz', ':e'      )
-  :Put fnamemodify('abc.fb2.tar.gz', ':e:e'    )
-  :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )
---- 23,29 ----
-  :Put fnamemodify('abc.fb2.tar.gz', ':r'      )
-  :Put fnamemodify('abc.fb2.tar.gz', ':r:r'    )
-  :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )
-! :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(testdir/.*\)', '\1', '')
-  :Put fnamemodify('abc.fb2.tar.gz', ':e'      )
-  :Put fnamemodify('abc.fb2.tar.gz', ':e:e'    )
-  :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )
-*** ../vim-7.4.219/src/testdir/test105.ok	2014-02-23 23:38:58.812760280 +0100
---- src/testdir/test105.ok	2014-03-27 12:31:40.732412080 +0100
-***************
-*** 3,10 ****
-  fnamemodify('test.out',       ':p'      )[-1:]	't'
-  fnamemodify('test.out',       ':.'      )	'test.out'
-  fnamemodify('../testdir/a',   ':.'      )	'a'
-! fnamemodify('test.out',       ':~'      )	'~/src/testdir/test.out'
-! fnamemodify('../testdir/a',   ':~'      )	'~/src/testdir/a'
-  fnamemodify('../testdir/a',   ':t'      )	'a'
-  fnamemodify('.',              ':p:t'    )	''
-  fnamemodify('test.out',       ':p:t'    )	'test.out'
---- 3,10 ----
-  fnamemodify('test.out',       ':p'      )[-1:]	't'
-  fnamemodify('test.out',       ':.'      )	'test.out'
-  fnamemodify('../testdir/a',   ':.'      )	'a'
-! fnamemodify('test.out',       ':~'      )	'~/testdir/test.out'
-! fnamemodify('../testdir/a',   ':~'      )	'~/testdir/a'
-  fnamemodify('../testdir/a',   ':t'      )	'a'
-  fnamemodify('.',              ':p:t'    )	''
-  fnamemodify('test.out',       ':p:t'    )	'test.out'
-***************
-*** 13,19 ****
-  fnamemodify('abc.fb2.tar.gz', ':r'      )	'abc.fb2.tar'
-  fnamemodify('abc.fb2.tar.gz', ':r:r'    )	'abc.fb2'
-  fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )	'abc'
-! substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '')	'src/testdir/abc.fb2'
-  fnamemodify('abc.fb2.tar.gz', ':e'      )	'gz'
-  fnamemodify('abc.fb2.tar.gz', ':e:e'    )	'tar.gz'
-  fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )	'fb2.tar.gz'
---- 13,19 ----
-  fnamemodify('abc.fb2.tar.gz', ':r'      )	'abc.fb2.tar'
-  fnamemodify('abc.fb2.tar.gz', ':r:r'    )	'abc.fb2'
-  fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )	'abc'
-! substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(testdir/.*\)', '\1', '')	'testdir/abc.fb2'
-  fnamemodify('abc.fb2.tar.gz', ':e'      )	'gz'
-  fnamemodify('abc.fb2.tar.gz', ':e:e'    )	'tar.gz'
-  fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )	'fb2.tar.gz'
-*** ../vim-7.4.219/src/version.c	2014-03-27 12:11:43.888393741 +0100
---- src/version.c	2014-03-27 12:32:56.320413238 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     220,
-  /**/
-
--- 
-If the Universe is constantly expanding, why can't I ever find a parking space?
-
- /// 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    ///
diff --git a/7.4.221 b/7.4.221
deleted file mode 100644
index 4162a24..0000000
--- a/7.4.221
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.221
-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.221
-Problem:    Quickfix doesn't resize on ":copen 20". (issue 199)
-Solution:   Resize the window when requested. (Christian Brabandt)
-Files:	    src/quickfix.c
-
-
-*** ../vim-7.4.220/src/quickfix.c	2014-03-23 15:12:29.931264336 +0100
---- src/quickfix.c	2014-03-27 16:56:25.316655478 +0100
-***************
-*** 2358,2364 ****
---- 2358,2379 ----
-      win = qf_find_win(qi);
-  
-      if (win != NULL && cmdmod.tab == 0)
-+     {
-  	win_goto(win);
-+ 	if (eap->addr_count != 0)
-+ 	{
-+ #ifdef FEAT_VERTSPLIT
-+ 	    if (cmdmod.split & WSP_VERT)
-+ 	    {
-+ 		if (height != W_WIDTH(win))
-+ 		    win_setwidth(height);
-+ 	    }
-+ 	    else
-+ #endif
-+ 	    if (height != win->w_height)
-+ 		win_setheight(height);
-+ 	}
-+     }
-      else
-      {
-  	qf_buf = qf_find_buf(qi);
-*** ../vim-7.4.220/src/version.c	2014-03-27 12:40:26.188420131 +0100
---- src/version.c	2014-03-27 16:54:38.864653847 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     221,
-  /**/
-
--- 
-The fastest way to get an engineer to solve a problem is to declare that the
-problem is unsolvable.  No engineer can walk away from an unsolvable problem
-until it's solved.
-				(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    ///
diff --git a/7.4.222 b/7.4.222
deleted file mode 100644
index 79f04f6..0000000
--- a/7.4.222
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.222
-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.222
-Problem:    The Ruby directory is constructed from parts.
-Solution:   Use 'rubyarchhdrdir' if it exists. (James McCoy)
-Files:	    src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.221/src/configure.in	2014-02-23 22:52:33.356764716 +0100
---- src/configure.in	2014-03-27 17:13:09.624670867 +0100
-***************
-*** 1692,1700 ****
-        if test "X$rubyhdrdir" != "X"; then
-  	AC_MSG_RESULT($rubyhdrdir)
-  	RUBY_CFLAGS="-I$rubyhdrdir"
-!         rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['arch']]"`
-!         if test -d "$rubyhdrdir/$rubyarch"; then
-!           RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
-          fi
-          rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
-  	if test "X$rubyversion" = "X"; then
---- 1692,1700 ----
-        if test "X$rubyhdrdir" != "X"; then
-  	AC_MSG_RESULT($rubyhdrdir)
-  	RUBY_CFLAGS="-I$rubyhdrdir"
-!         rubyarchdir=`$vi_cv_path_ruby -r rbconfig -e "print ($ruby_rbconfig::CONFIG.has_key? 'rubyarchhdrdir') ? $ruby_rbconfig::CONFIG[['rubyarchhdrdir']] : '$rubyhdrdir/'+$ruby_rbconfig::CONFIG[['arch']]"`
-!         if test -d "$rubyarchdir"; then
-!           RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyarchdir"
-          fi
-          rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
-  	if test "X$rubyversion" = "X"; then
-*** ../vim-7.4.221/src/auto/configure	2014-02-23 22:52:33.364764715 +0100
---- src/auto/configure	2014-03-27 17:14:25.256672026 +0100
-***************
-*** 6777,6785 ****
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
-  $as_echo "$rubyhdrdir" >&6; }
-  	RUBY_CFLAGS="-I$rubyhdrdir"
-!         rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['arch']"`
-!         if test -d "$rubyhdrdir/$rubyarch"; then
-!           RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
-          fi
-          rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
-  	if test "X$rubyversion" = "X"; then
---- 6777,6785 ----
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
-  $as_echo "$rubyhdrdir" >&6; }
-  	RUBY_CFLAGS="-I$rubyhdrdir"
-!         rubyarchdir=`$vi_cv_path_ruby -r rbconfig -e "print ($ruby_rbconfig::CONFIG.has_key? 'rubyarchhdrdir') ? $ruby_rbconfig::CONFIG['rubyarchhdrdir'] : '$rubyhdrdir/'+$ruby_rbconfig::CONFIG['arch']"`
-!         if test -d "$rubyarchdir"; then
-!           RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyarchdir"
-          fi
-          rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
-  	if test "X$rubyversion" = "X"; then
-*** ../vim-7.4.221/src/version.c	2014-03-27 17:02:22.084660944 +0100
---- src/version.c	2014-03-27 17:13:29.220671167 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     222,
-  /**/
-
--- 
-Engineers are always delighted to share wisdom, even in areas in which they
-have no experience whatsoever.  Their logic provides them with inherent
-insight into any field of expertise.  This can be a problem when dealing with
-the illogical people who believe that knowledge can only be derived through
-experience.
-				(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    ///
diff --git a/7.4.223 b/7.4.223
deleted file mode 100644
index c7e447a..0000000
--- a/7.4.223
+++ /dev/null
@@ -1,6557 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.223
-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.223
-Problem:    Still using an older autoconf version.
-Solution:   Switch to autoconf 2.69.
-Files:	    src/Makefile, src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.222/src/Makefile	2014-03-25 15:34:44.993932592 +0100
---- src/Makefile	2014-03-27 17:37:32.864693288 +0100
-***************
-*** 586,591 ****
---- 586,594 ----
-  # as root: sysctl -w vm.max_proc_mmap=30000
-  #EXTRA_LIBS = /usr/local/lib/libefence.a
-  
-+ # Autoconf binary.
-+ AUTOCONF = autoconf
-+ 
-  # PURIFY - remove the # to use the "purify" program (hoi Nia++!)
-  #PURIFY = purify
-  
-***************
-*** 1713,1719 ****
-  # - Uses ">config.log" instead of "./config.log".
-  autoconf:
-  	if test ! -f configure.save; then mv configure configure.save; fi
-! 	autoconf
-  	sed -e 's+>config.log+>auto/config.log+' -e 's+\./config.log+auto/config.log+' configure > auto/configure
-  	chmod 755 auto/configure
-  	mv -f configure.save configure
---- 1716,1722 ----
-  # - Uses ">config.log" instead of "./config.log".
-  autoconf:
-  	if test ! -f configure.save; then mv configure configure.save; fi
-! 	$(AUTOCONF)
-  	sed -e 's+>config.log+>auto/config.log+' -e 's+\./config.log+auto/config.log+' configure > auto/configure
-  	chmod 755 auto/configure
-  	mv -f configure.save configure
-*** ../vim-7.4.222/src/configure.in	2014-03-27 17:19:05.860676325 +0100
---- src/configure.in	2014-03-27 17:31:39.412687872 +0100
-***************
-*** 1397,1403 ****
-    ldflags_save=$LDFLAGS
-    dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
-    LDFLAGS="-ldl $LDFLAGS"
-!   AC_RUN_IFELSE([
-      #include <dlfcn.h>
-      /* If this program fails, then RTLD_GLOBAL is needed.
-       * RTLD_GLOBAL will be used and then it is not possible to
---- 1397,1403 ----
-    ldflags_save=$LDFLAGS
-    dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
-    LDFLAGS="-ldl $LDFLAGS"
-!   AC_RUN_IFELSE([AC_LANG_SOURCE([
-      #include <dlfcn.h>
-      /* If this program fails, then RTLD_GLOBAL is needed.
-       * RTLD_GLOBAL will be used and then it is not possible to
-***************
-*** 1430,1436 ****
-        if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
-              not_needed = 1;
-        return !not_needed;
-!     }],
-      [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
-  
-    CFLAGS=$cflags_save
---- 1430,1436 ----
-        if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
-              not_needed = 1;
-        return !not_needed;
-!     }])],
-      [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
-  
-    CFLAGS=$cflags_save
-***************
-*** 1442,1448 ****
-    ldflags_save=$LDFLAGS
-    dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
-    LDFLAGS="-ldl $LDFLAGS"
-!   AC_RUN_IFELSE([
-      #include <dlfcn.h>
-      #include <wchar.h>
-      /* If this program fails, then RTLD_GLOBAL is needed.
---- 1442,1448 ----
-    ldflags_save=$LDFLAGS
-    dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
-    LDFLAGS="-ldl $LDFLAGS"
-!   AC_RUN_IFELSE([AC_LANG_SOURCE([
-      #include <dlfcn.h>
-      #include <wchar.h>
-      /* If this program fails, then RTLD_GLOBAL is needed.
-***************
-*** 1476,1482 ****
-        if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
-              not_needed = 1;
-        return !not_needed;
-!     }],
-      [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
-  
-    CFLAGS=$cflags_save
---- 1476,1482 ----
-        if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
-              not_needed = 1;
-        return !not_needed;
-!     }])],
-      [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
-  
-    CFLAGS=$cflags_save
-***************
-*** 2737,2743 ****
-  
-  AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
-    [
-!     AC_RUN_IFELSE([[
-  #include "confdefs.h"
-  #include <ctype.h>
-  #if STDC_HEADERS
---- 2737,2743 ----
-  
-  AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
-    [
-!     AC_RUN_IFELSE([AC_LANG_SOURCE([[
-  #include "confdefs.h"
-  #include <ctype.h>
-  #if STDC_HEADERS
-***************
-*** 2745,2751 ****
-  # include <stddef.h>
-  #endif
-  main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
-!   ]],[
-      vim_cv_toupper_broken=yes
-    ],[
-      vim_cv_toupper_broken=no
---- 2745,2751 ----
-  # include <stddef.h>
-  #endif
-  main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
-!   ]])],[
-      vim_cv_toupper_broken=yes
-    ],[
-      vim_cv_toupper_broken=no
-***************
-*** 2993,2999 ****
-  
-  AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
-    [
-!     AC_RUN_IFELSE([[
-  #include "confdefs.h"
-  #ifdef HAVE_TERMCAP_H
-  # include <termcap.h>
---- 2993,2999 ----
-  
-  AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
-    [
-!     AC_RUN_IFELSE([AC_LANG_SOURCE([[
-  #include "confdefs.h"
-  #ifdef HAVE_TERMCAP_H
-  # include <termcap.h>
-***************
-*** 3007,3013 ****
-  #endif
-  main()
-  {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
-!     ]],[
-        vim_cv_terminfo=no
-      ],[
-        vim_cv_terminfo=yes
---- 3007,3013 ----
-  #endif
-  main()
-  {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
-!     ]])],[
-        vim_cv_terminfo=no
-      ],[
-        vim_cv_terminfo=yes
-***************
-*** 3023,3029 ****
-  if test "x$olibs" != "x$LIBS"; then
-    AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
-      [
-!       AC_RUN_IFELSE([[
-  #include "confdefs.h"
-  #ifdef HAVE_TERMCAP_H
-  # include <termcap.h>
---- 3023,3029 ----
-  if test "x$olibs" != "x$LIBS"; then
-    AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
-      [
-!       AC_RUN_IFELSE([AC_LANG_SOURCE([[
-  #include "confdefs.h"
-  #ifdef HAVE_TERMCAP_H
-  # include <termcap.h>
-***************
-*** 3034,3040 ****
-  #endif
-  main()
-  {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
-!       ]],[
-  	vim_cv_tgent=zero
-        ],[
-  	vim_cv_tgent=non-zero
---- 3034,3040 ----
-  #endif
-  main()
-  {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
-!       ]])],[
-  	vim_cv_tgent=zero
-        ],[
-  	vim_cv_tgent=non-zero
-***************
-*** 3158,3164 ****
-  rm -f conftest_grp
-  AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
-    [
-!     AC_RUN_IFELSE([[
-  #include "confdefs.h"
-  #include <sys/types.h>
-  #if STDC_HEADERS
---- 3158,3164 ----
-  rm -f conftest_grp
-  AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
-    [
-!     AC_RUN_IFELSE([AC_LANG_SOURCE([[
-  #include "confdefs.h"
-  #include <sys/types.h>
-  #if STDC_HEADERS
-***************
-*** 3194,3200 ****
-    fclose(fp);
-    exit(0);
-  }
-!     ]],[
-        if test -f conftest_grp; then
-  	vim_cv_tty_group=`cat conftest_grp`
-  	if test "x$vim_cv_tty_mode" = "x" ; then
---- 3194,3200 ----
-    fclose(fp);
-    exit(0);
-  }
-!     ]])],[
-        if test -f conftest_grp; then
-  	vim_cv_tty_group=`cat conftest_grp`
-  	if test "x$vim_cv_tty_mode" = "x" ; then
-***************
-*** 3252,3258 ****
-  dnl system("sh -c pwd")
-  AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
-    [
-!     AC_RUN_IFELSE([[
-  #include "confdefs.h"
-  #ifdef HAVE_UNISTD_H
-  #include <unistd.h>
---- 3252,3258 ----
-  dnl system("sh -c pwd")
-  AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
-    [
-!     AC_RUN_IFELSE([AC_LANG_SOURCE([[
-  #include "confdefs.h"
-  #ifdef HAVE_UNISTD_H
-  #include <unistd.h>
-***************
-*** 3265,3271 ****
-    environ = dagger;
-    return getcwd(buffer, 500) ? 0 : 1;
-  }
-!     ]],[
-        vim_cv_getcwd_broken=no
-      ],[
-        vim_cv_getcwd_broken=yes
---- 3265,3271 ----
-    environ = dagger;
-    return getcwd(buffer, 500) ? 0 : 1;
-  }
-!     ]])],[
-        vim_cv_getcwd_broken=no
-      ],[
-        vim_cv_getcwd_broken=yes
-***************
-*** 3308,3314 ****
-  
-  AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
-    [
-!     AC_RUN_IFELSE([[
-  #include "confdefs.h"
-  #if STDC_HEADERS
-  # include <stdlib.h>
---- 3308,3314 ----
-  
-  AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
-    [
-!     AC_RUN_IFELSE([AC_LANG_SOURCE([[
-  #include "confdefs.h"
-  #if STDC_HEADERS
-  # include <stdlib.h>
-***************
-*** 3317,3323 ****
-  #include <sys/types.h>
-  #include <sys/stat.h>
-  main() {struct stat st;  exit(stat("configure/", &st) != 0); }
-!     ]],[
-        vim_cv_stat_ignores_slash=yes
-      ],[
-        vim_cv_stat_ignores_slash=no
---- 3317,3323 ----
-  #include <sys/types.h>
-  #include <sys/stat.h>
-  main() {struct stat st;  exit(stat("configure/", &st) != 0); }
-!     ]])],[
-        vim_cv_stat_ignores_slash=yes
-      ],[
-        vim_cv_stat_ignores_slash=no
-***************
-*** 3631,3637 ****
-  
-  AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
-    [
-!     AC_RUN_IFELSE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]],
-        [
-  	vim_cv_memmove_handles_overlap=yes
-        ],[
---- 3631,3637 ----
-  
-  AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
-    [
-!     AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]])],
-        [
-  	vim_cv_memmove_handles_overlap=yes
-        ],[
-***************
-*** 3646,3652 ****
-  else
-    AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
-      [
-!       AC_RUN_IFELSE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]],
-        [
-  	vim_cv_bcopy_handles_overlap=yes
-        ],[
---- 3646,3652 ----
-  else
-    AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
-      [
-!       AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]])],
-        [
-  	vim_cv_bcopy_handles_overlap=yes
-        ],[
-***************
-*** 3661,3667 ****
-    else
-      AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
-        [
-! 	AC_RUN_IFELSE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]],
-  	  [
-  	    vim_cv_memcpy_handles_overlap=yes
-  	  ],[
---- 3661,3667 ----
-    else
-      AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
-        [
-! 	AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]])],
-  	  [
-  	    vim_cv_memcpy_handles_overlap=yes
-  	  ],[
-*** ../vim-7.4.222/src/auto/configure	2014-03-27 17:19:05.868676325 +0100
---- src/auto/configure	2014-03-27 17:35:39.660691553 +0100
-***************
-*** 1,11 ****
-  #! /bin/sh
-  # Guess values for system-dependent variables and create Makefiles.
-! # Generated by GNU Autoconf 2.65.
-  #
-  #
-! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-! # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-! # Inc.
-  #
-  #
-  # This configure script is free software; the Free Software Foundation
---- 1,9 ----
-  #! /bin/sh
-  # Guess values for system-dependent variables and create Makefiles.
-! # Generated by GNU Autoconf 2.69.
-  #
-  #
-! # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-  #
-  #
-  # This configure script is free software; the Free Software Foundation
-***************
-*** 89,94 ****
---- 87,93 ----
-  IFS=" ""	$as_nl"
-  
-  # Find who we are.  Look in the path if we contain no directory separator.
-+ as_myself=
-  case $0 in #((
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-***************
-*** 133,138 ****
---- 132,162 ----
-  # CDPATH.
-  (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-  
-+ # Use a proper internal environment variable to ensure we don't fall
-+   # into an infinite loop, continuously re-executing ourselves.
-+   if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-+     _as_can_reexec=no; export _as_can_reexec;
-+     # We cannot yet assume a decent shell, so we have to provide a
-+ # neutralization value for shells without unset; and this also
-+ # works around shells that cannot unset nonexistent variables.
-+ # Preserve -v and -x to the replacement shell.
-+ BASH_ENV=/dev/null
-+ ENV=/dev/null
-+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-+ case $- in # ((((
-+   *v*x* | *x*v* ) as_opts=-vx ;;
-+   *v* ) as_opts=-v ;;
-+   *x* ) as_opts=-x ;;
-+   * ) as_opts= ;;
-+ esac
-+ exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-+ # Admittedly, this is quite paranoid, since all the known shells bail
-+ # out after a failed `exec'.
-+ $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-+ as_fn_exit 255
-+   fi
-+   # We don't want this to propagate to other subprocesses.
-+           { _as_can_reexec=; unset _as_can_reexec;}
-  if test "x$CONFIG_SHELL" = x; then
-    as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-    emulate sh
-***************
-*** 166,172 ****
-  else
-    exitcode=1; echo positional parameters were not saved.
-  fi
-! test x\$exitcode = x0 || exit 1"
-    as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-    as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-    eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
---- 190,197 ----
-  else
-    exitcode=1; echo positional parameters were not saved.
-  fi
-! test x\$exitcode = x0 || exit 1
-! test -x / || exit 1"
-    as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-    as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-    eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-***************
-*** 211,224 ****
-  
-  
-        if test "x$CONFIG_SHELL" != x; then :
-!   # We cannot yet assume a decent shell, so we have to provide a
-! 	# neutralization value for shells without unset; and this also
-! 	# works around shells that cannot unset nonexistent variables.
-! 	BASH_ENV=/dev/null
-! 	ENV=/dev/null
-! 	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-! 	export CONFIG_SHELL
-! 	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-  fi
-  
-      if test x$as_have_required = xno; then :
---- 236,260 ----
-  
-  
-        if test "x$CONFIG_SHELL" != x; then :
-!   export CONFIG_SHELL
-!              # We cannot yet assume a decent shell, so we have to provide a
-! # neutralization value for shells without unset; and this also
-! # works around shells that cannot unset nonexistent variables.
-! # Preserve -v and -x to the replacement shell.
-! BASH_ENV=/dev/null
-! ENV=/dev/null
-! (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-! case $- in # ((((
-!   *v*x* | *x*v* ) as_opts=-vx ;;
-!   *v* ) as_opts=-v ;;
-!   *x* ) as_opts=-x ;;
-!   * ) as_opts= ;;
-! esac
-! exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-! # Admittedly, this is quite paranoid, since all the known shells bail
-! # out after a failed `exec'.
-! $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-! exit 255
-  fi
-  
-      if test x$as_have_required = xno; then :
-***************
-*** 316,325 ****
-        test -d "$as_dir" && break
-      done
-      test -z "$as_dirs" || eval "mkdir $as_dirs"
-!   } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-  
-  
-  } # as_fn_mkdir_p
-  # as_fn_append VAR VALUE
-  # ----------------------
-  # Append the text in VALUE to the end of the definition contained in VAR. Take
---- 352,369 ----
-        test -d "$as_dir" && break
-      done
-      test -z "$as_dirs" || eval "mkdir $as_dirs"
-!   } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-  
-  
-  } # as_fn_mkdir_p
-+ 
-+ # as_fn_executable_p FILE
-+ # -----------------------
-+ # Test if FILE is an executable regular file.
-+ as_fn_executable_p ()
-+ {
-+   test -f "$1" && test -x "$1"
-+ } # as_fn_executable_p
-  # as_fn_append VAR VALUE
-  # ----------------------
-  # Append the text in VALUE to the end of the definition contained in VAR. Take
-***************
-*** 356,374 ****
-  fi # as_fn_arith
-  
-  
-! # as_fn_error ERROR [LINENO LOG_FD]
-! # ---------------------------------
-  # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-  # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-! # script with status $?, using 1 if that was 0.
-  as_fn_error ()
-  {
-!   as_status=$?; test $as_status -eq 0 && as_status=1
-!   if test "$3"; then
-!     as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-!     $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-    fi
-!   $as_echo "$as_me: error: $1" >&2
-    as_fn_exit $as_status
-  } # as_fn_error
-  
---- 400,418 ----
-  fi # as_fn_arith
-  
-  
-! # as_fn_error STATUS ERROR [LINENO LOG_FD]
-! # ----------------------------------------
-  # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-  # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-! # script with STATUS, using 1 if that was 0.
-  as_fn_error ()
-  {
-!   as_status=$1; test $as_status -eq 0 && as_status=1
-!   if test "$4"; then
-!     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-!     $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-    fi
-!   $as_echo "$as_me: error: $2" >&2
-    as_fn_exit $as_status
-  } # as_fn_error
-  
-***************
-*** 441,446 ****
---- 485,494 ----
-    chmod +x "$as_me.lineno" ||
-      { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-  
-+   # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-+   # already done that, so ensure we don't try to do so again and fall
-+   # in an infinite loop.  This has already happened in practice.
-+   _as_can_reexec=no; export _as_can_reexec
-    # Don't try to exec as it changes $[0], causing all sort of problems
-    # (the dirname of $[0] is not the place where we might find the
-    # original and so on.  Autoconf is especially sensitive to this).
-***************
-*** 475,490 ****
-      # ... but there are two gotchas:
-      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-!     # In both cases, we have to default to `cp -p'.
-      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-!       as_ln_s='cp -p'
-    elif ln conf$$.file conf$$ 2>/dev/null; then
-      as_ln_s=ln
-    else
-!     as_ln_s='cp -p'
-    fi
-  else
-!   as_ln_s='cp -p'
-  fi
-  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-  rmdir conf$$.dir 2>/dev/null
---- 523,538 ----
-      # ... but there are two gotchas:
-      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-!     # In both cases, we have to default to `cp -pR'.
-      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-!       as_ln_s='cp -pR'
-    elif ln conf$$.file conf$$ 2>/dev/null; then
-      as_ln_s=ln
-    else
-!     as_ln_s='cp -pR'
-    fi
-  else
-!   as_ln_s='cp -pR'
-  fi
-  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-  rmdir conf$$.dir 2>/dev/null
-***************
-*** 496,523 ****
-    as_mkdir_p=false
-  fi
-  
-! if test -x / >/dev/null 2>&1; then
-!   as_test_x='test -x'
-! else
-!   if ls -dL / >/dev/null 2>&1; then
-!     as_ls_L_option=L
-!   else
-!     as_ls_L_option=
-!   fi
-!   as_test_x='
-!     eval sh -c '\''
-!       if test -d "$1"; then
-! 	test -d "$1/.";
-!       else
-! 	case $1 in #(
-! 	-*)set "./$1";;
-! 	esac;
-! 	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-! 	???[sx]*):;;*)false;;esac;fi
-!     '\'' sh
-!   '
-! fi
-! as_executable_p=$as_test_x
-  
-  # Sed expression to map a string onto a valid CPP name.
-  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
---- 544,551 ----
-    as_mkdir_p=false
-  fi
-  
-! as_test_x='test -x'
-! as_executable_p=as_fn_executable_p
-  
-  # Sed expression to map a string onto a valid CPP name.
-  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-***************
-*** 530,536 ****
-  exec 6>&1
-  
-  # Name of the host.
-! # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-  # so uname gets run too.
-  ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-  
---- 558,564 ----
-  exec 6>&1
-  
-  # Name of the host.
-! # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-  # so uname gets run too.
-  ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-  
-***************
-*** 872,879 ****
-    fi
-  
-    case $ac_option in
-!   *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-!   *)	ac_optarg=yes ;;
-    esac
-  
-    # Accept the important Cygnus configure options, so we can diagnose typos.
---- 900,908 ----
-    fi
-  
-    case $ac_option in
-!   *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-!   *=)   ac_optarg= ;;
-!   *)    ac_optarg=yes ;;
-    esac
-  
-    # Accept the important Cygnus configure options, so we can diagnose typos.
-***************
-*** 918,924 ****
-      ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error "invalid feature name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
---- 947,953 ----
-      ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error $? "invalid feature name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
-***************
-*** 944,950 ****
-      ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error "invalid feature name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
---- 973,979 ----
-      ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error $? "invalid feature name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
-***************
-*** 1148,1154 ****
-      ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error "invalid package name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
---- 1177,1183 ----
-      ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error $? "invalid package name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
-***************
-*** 1164,1170 ****
-      ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error "invalid package name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
---- 1193,1199 ----
-      ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-      # Reject names that are not valid shell variable names.
-      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-!       as_fn_error $? "invalid package name: $ac_useropt"
-      ac_useropt_orig=$ac_useropt
-      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-      case $ac_user_opts in
-***************
-*** 1194,1201 ****
-    | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-      x_libraries=$ac_optarg ;;
-  
-!   -*) as_fn_error "unrecognized option: \`$ac_option'
-! Try \`$0 --help' for more information."
-      ;;
-  
-    *=*)
---- 1223,1230 ----
-    | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-      x_libraries=$ac_optarg ;;
-  
-!   -*) as_fn_error $? "unrecognized option: \`$ac_option'
-! Try \`$0 --help' for more information"
-      ;;
-  
-    *=*)
-***************
-*** 1203,1209 ****
-      # Reject names that are not valid shell variable names.
-      case $ac_envvar in #(
-        '' | [0-9]* | *[!_$as_cr_alnum]* )
-!       as_fn_error "invalid variable name: \`$ac_envvar'" ;;
-      esac
-      eval $ac_envvar=\$ac_optarg
-      export $ac_envvar ;;
---- 1232,1238 ----
-      # Reject names that are not valid shell variable names.
-      case $ac_envvar in #(
-        '' | [0-9]* | *[!_$as_cr_alnum]* )
-!       as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-      esac
-      eval $ac_envvar=\$ac_optarg
-      export $ac_envvar ;;
-***************
-*** 1213,1219 ****
-      $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-      expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-        $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-!     : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-      ;;
-  
-    esac
---- 1242,1248 ----
-      $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-      expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-        $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-!     : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-      ;;
-  
-    esac
-***************
-*** 1221,1233 ****
-  
-  if test -n "$ac_prev"; then
-    ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-!   as_fn_error "missing argument to $ac_option"
-  fi
-  
-  if test -n "$ac_unrecognized_opts"; then
-    case $enable_option_checking in
-      no) ;;
-!     fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
-      *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-    esac
-  fi
---- 1250,1262 ----
-  
-  if test -n "$ac_prev"; then
-    ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-!   as_fn_error $? "missing argument to $ac_option"
-  fi
-  
-  if test -n "$ac_unrecognized_opts"; then
-    case $enable_option_checking in
-      no) ;;
-!     fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-      *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-    esac
-  fi
-***************
-*** 1250,1256 ****
-      [\\/$]* | ?:[\\/]* )  continue;;
-      NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-    esac
-!   as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
-  done
-  
-  # There might be people who depend on the old broken behavior: `$host'
---- 1279,1285 ----
-      [\\/$]* | ?:[\\/]* )  continue;;
-      NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-    esac
-!   as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-  done
-  
-  # There might be people who depend on the old broken behavior: `$host'
-***************
-*** 1264,1271 ****
-  if test "x$host_alias" != x; then
-    if test "x$build_alias" = x; then
-      cross_compiling=maybe
--     $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
--     If a cross compiler is detected then cross compile mode will be used." >&2
-    elif test "x$build_alias" != "x$host_alias"; then
-      cross_compiling=yes
-    fi
---- 1293,1298 ----
-***************
-*** 1280,1288 ****
-  ac_pwd=`pwd` && test -n "$ac_pwd" &&
-  ac_ls_di=`ls -di .` &&
-  ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-!   as_fn_error "working directory cannot be determined"
-  test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-!   as_fn_error "pwd does not report name of working directory"
-  
-  
-  # Find the source files, if location was not specified.
---- 1307,1315 ----
-  ac_pwd=`pwd` && test -n "$ac_pwd" &&
-  ac_ls_di=`ls -di .` &&
-  ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-!   as_fn_error $? "working directory cannot be determined"
-  test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-!   as_fn_error $? "pwd does not report name of working directory"
-  
-  
-  # Find the source files, if location was not specified.
-***************
-*** 1321,1331 ****
-  fi
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-!   as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
-  fi
-  ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-  ac_abs_confdir=`(
-! 	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
-  	pwd)`
-  # When building in place, set srcdir=.
-  if test "$ac_abs_confdir" = "$ac_pwd"; then
---- 1348,1358 ----
-  fi
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-!   as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-  fi
-  ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-  ac_abs_confdir=`(
-! 	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-  	pwd)`
-  # When building in place, set srcdir=.
-  if test "$ac_abs_confdir" = "$ac_pwd"; then
-***************
-*** 1365,1371 ****
-        --help=short        display options specific to this package
-        --help=recursive    display the short help of all the included packages
-    -V, --version           display version information and exit
-!   -q, --quiet, --silent   do not print \`checking...' messages
-        --cache-file=FILE   cache test results in FILE [disabled]
-    -C, --config-cache      alias for \`--cache-file=config.cache'
-    -n, --no-create         do not create output files
---- 1392,1398 ----
-        --help=short        display options specific to this package
-        --help=recursive    display the short help of all the included packages
-    -V, --version           display version information and exit
-!   -q, --quiet, --silent   do not print \`checking ...' messages
-        --cache-file=FILE   cache test results in FILE [disabled]
-    -C, --config-cache      alias for \`--cache-file=config.cache'
-    -n, --no-create         do not create output files
-***************
-*** 1563,1571 ****
-  if $ac_init_version; then
-    cat <<\_ACEOF
-  configure
-! generated by GNU Autoconf 2.65
-  
-! Copyright (C) 2009 Free Software Foundation, Inc.
-  This configure script is free software; the Free Software Foundation
-  gives unlimited permission to copy, distribute and modify it.
-  _ACEOF
---- 1590,1598 ----
-  if $ac_init_version; then
-    cat <<\_ACEOF
-  configure
-! generated by GNU Autoconf 2.69
-  
-! Copyright (C) 2012 Free Software Foundation, Inc.
-  This configure script is free software; the Free Software Foundation
-  gives unlimited permission to copy, distribute and modify it.
-  _ACEOF
-***************
-*** 1609,1615 ****
-  
-  	ac_retval=1
-  fi
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_compile
---- 1636,1642 ----
-  
-  	ac_retval=1
-  fi
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_compile
-***************
-*** 1635,1641 ****
-      mv -f conftest.er1 conftest.err
-    fi
-    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-!   test $ac_status = 0; } >/dev/null && {
-  	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-  	 test ! -s conftest.err
-         }; then :
---- 1662,1668 ----
-      mv -f conftest.er1 conftest.err
-    fi
-    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-!   test $ac_status = 0; } > conftest.i && {
-  	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-  	 test ! -s conftest.err
-         }; then :
-***************
-*** 1646,1652 ****
-  
-      ac_retval=1
-  fi
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_cpp
---- 1673,1679 ----
-  
-      ac_retval=1
-  fi
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_cpp
-***************
-*** 1678,1684 ****
-  	 test ! -s conftest.err
-         } && test -s conftest$ac_exeext && {
-  	 test "$cross_compiling" = yes ||
-! 	 $as_test_x conftest$ac_exeext
-         }; then :
-    ac_retval=0
-  else
---- 1705,1711 ----
-  	 test ! -s conftest.err
-         } && test -s conftest$ac_exeext && {
-  	 test "$cross_compiling" = yes ||
-! 	 test -x conftest$ac_exeext
-         }; then :
-    ac_retval=0
-  else
-***************
-*** 1692,1698 ****
-    # interfere with the next link command; also delete a directory that is
-    # left behind by Apple's compiler.  We do this before executing the actions.
-    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_link
---- 1719,1725 ----
-    # interfere with the next link command; also delete a directory that is
-    # left behind by Apple's compiler.  We do this before executing the actions.
-    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_link
-***************
-*** 1734,1740 ****
-         ac_retval=$ac_status
-  fi
-    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_run
---- 1761,1767 ----
-         ac_retval=$ac_status
-  fi
-    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_try_run
-***************
-*** 1747,1756 ****
-  ac_fn_c_check_header_mongrel ()
-  {
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-!   if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  fi
-  eval ac_res=\$$3
---- 1774,1783 ----
-  ac_fn_c_check_header_mongrel ()
-  {
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-!   if eval \${$3+:} false; then :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if eval \${$3+:} false; then :
-    $as_echo_n "(cached) " >&6
-  fi
-  eval ac_res=\$$3
-***************
-*** 1786,1792 ****
-  else
-    ac_header_preproc=no
-  fi
-! rm -f conftest.err conftest.$ac_ext
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-  $as_echo "$ac_header_preproc" >&6; }
-  
---- 1813,1819 ----
-  else
-    ac_header_preproc=no
-  fi
-! rm -f conftest.err conftest.i conftest.$ac_ext
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-  $as_echo "$ac_header_preproc" >&6; }
-  
-***************
-*** 1813,1819 ****
-  esac
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    eval "$3=\$ac_header_compiler"
---- 1840,1846 ----
-  esac
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if eval \${$3+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    eval "$3=\$ac_header_compiler"
-***************
-*** 1822,1828 ****
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-  fi
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  
-  } # ac_fn_c_check_header_mongrel
-  
---- 1849,1855 ----
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-  fi
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  
-  } # ac_fn_c_check_header_mongrel
-  
-***************
-*** 1835,1841 ****
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 1862,1868 ----
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if eval \${$3+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 1853,1859 ****
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  
-  } # ac_fn_c_check_header_compile
-  
---- 1880,1886 ----
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  
-  } # ac_fn_c_check_header_compile
-  
-***************
-*** 1865,1871 ****
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 1892,1898 ----
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if eval \${$3+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 1920,1926 ****
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  
-  } # ac_fn_c_check_func
-  
---- 1947,1953 ----
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  
-  } # ac_fn_c_check_func
-  
-***************
-*** 1933,1939 ****
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    eval "$3=no"
---- 1960,1966 ----
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-  $as_echo_n "checking for $2... " >&6; }
-! if eval \${$3+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    eval "$3=no"
-***************
-*** 1974,1980 ****
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  
-  } # ac_fn_c_check_type
-  
---- 2001,2007 ----
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  
-  } # ac_fn_c_check_type
-  
-***************
-*** 1987,1993 ****
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
-  $as_echo_n "checking for uint$2_t... " >&6; }
-! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    eval "$3=no"
---- 2014,2020 ----
-    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
-  $as_echo_n "checking for uint$2_t... " >&6; }
-! if eval \${$3+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    eval "$3=no"
-***************
-*** 2002,2008 ****
-  main ()
-  {
-  static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
-! test_array [0] = 0
-  
-    ;
-    return 0;
---- 2029,2036 ----
-  main ()
-  {
-  static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
-! test_array [0] = 0;
-! return test_array [0];
-  
-    ;
-    return 0;
-***************
-*** 2017,2024 ****
-  esac
-  fi
-  rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-!        eval as_val=\$$3
-!    if test "x$as_val" = x""no; then :
-  
-  else
-    break
---- 2045,2051 ----
-  esac
-  fi
-  rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-!        if eval test \"x\$"$3"\" = x"no"; then :
-  
-  else
-    break
-***************
-*** 2028,2034 ****
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  
-  } # ac_fn_c_find_uintX_t
-  
---- 2055,2061 ----
-  eval ac_res=\$$3
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  
-  } # ac_fn_c_find_uintX_t
-  
-***************
-*** 2049,2055 ****
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) >= 0)];
-! test_array [0] = 0
-  
-    ;
-    return 0;
---- 2076,2083 ----
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) >= 0)];
-! test_array [0] = 0;
-! return test_array [0];
-  
-    ;
-    return 0;
-***************
-*** 2065,2071 ****
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-! test_array [0] = 0
-  
-    ;
-    return 0;
---- 2093,2100 ----
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-! test_array [0] = 0;
-! return test_array [0];
-  
-    ;
-    return 0;
-***************
-*** 2091,2097 ****
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) < 0)];
-! test_array [0] = 0
-  
-    ;
-    return 0;
---- 2120,2127 ----
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) < 0)];
-! test_array [0] = 0;
-! return test_array [0];
-  
-    ;
-    return 0;
-***************
-*** 2107,2113 ****
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-! test_array [0] = 0
-  
-    ;
-    return 0;
---- 2137,2144 ----
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-! test_array [0] = 0;
-! return test_array [0];
-  
-    ;
-    return 0;
-***************
-*** 2141,2147 ****
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-! test_array [0] = 0
-  
-    ;
-    return 0;
---- 2172,2179 ----
-  main ()
-  {
-  static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-! test_array [0] = 0;
-! return test_array [0];
-  
-    ;
-    return 0;
-***************
-*** 2205,2211 ****
-  rm -f conftest.val
-  
-    fi
-!   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_compute_int
---- 2237,2243 ----
-  rm -f conftest.val
-  
-    fi
-!   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-    as_fn_set_status $ac_retval
-  
-  } # ac_fn_c_compute_int
-***************
-*** 2214,2220 ****
-  running configure, to aid debugging if configure makes a mistake.
-  
-  It was created by $as_me, which was
-! generated by GNU Autoconf 2.65.  Invocation command line was
-  
-    $ $0 $@
-  
---- 2246,2252 ----
-  running configure, to aid debugging if configure makes a mistake.
-  
-  It was created by $as_me, which was
-! generated by GNU Autoconf 2.69.  Invocation command line was
-  
-    $ $0 $@
-  
-***************
-*** 2324,2334 ****
-    {
-      echo
-  
-!     cat <<\_ASBOX
-! ## ---------------- ##
-  ## Cache variables. ##
-! ## ---------------- ##
-! _ASBOX
-      echo
-      # The following way of writing the cache mishandles newlines in values,
-  (
---- 2356,2364 ----
-    {
-      echo
-  
-!     $as_echo "## ---------------- ##
-  ## Cache variables. ##
-! ## ---------------- ##"
-      echo
-      # The following way of writing the cache mishandles newlines in values,
-  (
-***************
-*** 2362,2372 ****
-  )
-      echo
-  
-!     cat <<\_ASBOX
-! ## ----------------- ##
-  ## Output variables. ##
-! ## ----------------- ##
-! _ASBOX
-      echo
-      for ac_var in $ac_subst_vars
-      do
---- 2392,2400 ----
-  )
-      echo
-  
-!     $as_echo "## ----------------- ##
-  ## Output variables. ##
-! ## ----------------- ##"
-      echo
-      for ac_var in $ac_subst_vars
-      do
-***************
-*** 2379,2389 ****
-      echo
-  
-      if test -n "$ac_subst_files"; then
-!       cat <<\_ASBOX
-! ## ------------------- ##
-  ## File substitutions. ##
-! ## ------------------- ##
-! _ASBOX
-        echo
-        for ac_var in $ac_subst_files
-        do
---- 2407,2415 ----
-      echo
-  
-      if test -n "$ac_subst_files"; then
-!       $as_echo "## ------------------- ##
-  ## File substitutions. ##
-! ## ------------------- ##"
-        echo
-        for ac_var in $ac_subst_files
-        do
-***************
-*** 2397,2407 ****
-      fi
-  
-      if test -s confdefs.h; then
-!       cat <<\_ASBOX
-! ## ----------- ##
-  ## confdefs.h. ##
-! ## ----------- ##
-! _ASBOX
-        echo
-        cat confdefs.h
-        echo
---- 2423,2431 ----
-      fi
-  
-      if test -s confdefs.h; then
-!       $as_echo "## ----------- ##
-  ## confdefs.h. ##
-! ## ----------- ##"
-        echo
-        cat confdefs.h
-        echo
-***************
-*** 2456,2462 ****
-  ac_site_file1=NONE
-  ac_site_file2=NONE
-  if test -n "$CONFIG_SITE"; then
-!   ac_site_file1=$CONFIG_SITE
-  elif test "x$prefix" != xNONE; then
-    ac_site_file1=$prefix/share/config.site
-    ac_site_file2=$prefix/etc/config.site
---- 2480,2491 ----
-  ac_site_file1=NONE
-  ac_site_file2=NONE
-  if test -n "$CONFIG_SITE"; then
-!   # We do not want a PATH search for config.site.
-!   case $CONFIG_SITE in #((
-!     -*)  ac_site_file1=./$CONFIG_SITE;;
-!     */*) ac_site_file1=$CONFIG_SITE;;
-!     *)   ac_site_file1=./$CONFIG_SITE;;
-!   esac
-  elif test "x$prefix" != xNONE; then
-    ac_site_file1=$prefix/share/config.site
-    ac_site_file2=$prefix/etc/config.site
-***************
-*** 2471,2477 ****
-      { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-  $as_echo "$as_me: loading site script $ac_site_file" >&6;}
-      sed 's/^/| /' "$ac_site_file" >&5
-!     . "$ac_site_file"
-    fi
-  done
-  
---- 2500,2510 ----
-      { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-  $as_echo "$as_me: loading site script $ac_site_file" >&6;}
-      sed 's/^/| /' "$ac_site_file" >&5
-!     . "$ac_site_file" \
-!       || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "failed to load site script $ac_site_file
-! See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  done
-  
-***************
-*** 2547,2553 ****
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-  $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-!   as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-  fi
-  ## -------------------- ##
-  ## Main body of script. ##
---- 2580,2586 ----
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-  $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-!   as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-  fi
-  ## -------------------- ##
-  ## Main body of script. ##
-***************
-*** 2569,2575 ****
-  $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-  set x ${MAKE-make}
-  ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-! if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat >conftest.make <<\_ACEOF
---- 2602,2608 ----
-  $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-  set x ${MAKE-make}
-  ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-! if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat >conftest.make <<\_ACEOF
-***************
-*** 2577,2583 ****
-  all:
-  	@echo '@@@%%%=$(MAKE)=@@@%%%'
-  _ACEOF
-! # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-  case `${MAKE-make} -f conftest.make 2>/dev/null` in
-    *@@@%%%=?*=@@@%%%*)
-      eval ac_cv_prog_make_${ac_make}_set=yes;;
---- 2610,2616 ----
-  all:
-  	@echo '@@@%%%=$(MAKE)=@@@%%%'
-  _ACEOF
-! # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-  case `${MAKE-make} -f conftest.make 2>/dev/null` in
-    *@@@%%%=?*=@@@%%%*)
-      eval ac_cv_prog_make_${ac_make}_set=yes;;
-***************
-*** 2607,2613 ****
-  set dummy ${ac_tool_prefix}gcc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_CC+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
---- 2640,2646 ----
-  set dummy ${ac_tool_prefix}gcc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_CC+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
-***************
-*** 2619,2625 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_CC="${ac_tool_prefix}gcc"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 2652,2658 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_CC="${ac_tool_prefix}gcc"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 2647,2653 ****
-  set dummy gcc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$ac_ct_CC"; then
---- 2680,2686 ----
-  set dummy gcc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_ac_ct_CC+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$ac_ct_CC"; then
-***************
-*** 2659,2665 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_ac_ct_CC="gcc"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 2692,2698 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_ac_ct_CC="gcc"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 2700,2706 ****
-  set dummy ${ac_tool_prefix}cc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_CC+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
---- 2733,2739 ----
-  set dummy ${ac_tool_prefix}cc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_CC+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
-***************
-*** 2712,2718 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_CC="${ac_tool_prefix}cc"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 2745,2751 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_CC="${ac_tool_prefix}cc"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 2740,2746 ****
-  set dummy cc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_CC+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
---- 2773,2779 ----
-  set dummy cc; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_CC+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
-***************
-*** 2753,2759 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-         ac_prog_rejected=yes
-         continue
---- 2786,2792 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-         ac_prog_rejected=yes
-         continue
-***************
-*** 2799,2805 ****
-  set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_CC+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
---- 2832,2838 ----
-  set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_CC+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$CC"; then
-***************
-*** 2811,2817 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 2844,2850 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 2843,2849 ****
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$ac_ct_CC"; then
---- 2876,2882 ----
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_ac_ct_CC+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$ac_ct_CC"; then
-***************
-*** 2855,2861 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_ac_ct_CC="$ac_prog"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 2888,2894 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_ac_ct_CC="$ac_prog"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 2897,2904 ****
-  
-  test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error "no acceptable C compiler found in \$PATH
-! See \`config.log' for more details." "$LINENO" 5; }
-  
-  # Provide some information about the compiler.
-  $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
---- 2930,2937 ----
-  
-  test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "no acceptable C compiler found in \$PATH
-! See \`config.log' for more details" "$LINENO" 5; }
-  
-  # Provide some information about the compiler.
-  $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-***************
-*** 3012,3020 ****
-  
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! { as_fn_set_status 77
-! as_fn_error "C compiler cannot create executables
-! See \`config.log' for more details." "$LINENO" 5; }; }
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-  $as_echo "yes" >&6; }
---- 3045,3052 ----
-  
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error 77 "C compiler cannot create executables
-! See \`config.log' for more details" "$LINENO" 5; }
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-  $as_echo "yes" >&6; }
-***************
-*** 3056,3063 ****
-  else
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error "cannot compute suffix of executables: cannot compile and link
-! See \`config.log' for more details." "$LINENO" 5; }
-  fi
-  rm -f conftest conftest$ac_cv_exeext
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
---- 3088,3095 ----
-  else
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-! See \`config.log' for more details" "$LINENO" 5; }
-  fi
-  rm -f conftest conftest$ac_cv_exeext
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-***************
-*** 3114,3122 ****
-      else
-  	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error "cannot run C compiled programs.
-  If you meant to cross compile, use \`--host'.
-! See \`config.log' for more details." "$LINENO" 5; }
-      fi
-    fi
-  fi
---- 3146,3154 ----
-      else
-  	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "cannot run C compiled programs.
-  If you meant to cross compile, use \`--host'.
-! See \`config.log' for more details" "$LINENO" 5; }
-      fi
-    fi
-  fi
-***************
-*** 3127,3133 ****
-  ac_clean_files=$ac_clean_files_save
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-  $as_echo_n "checking for suffix of object files... " >&6; }
-! if test "${ac_cv_objext+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 3159,3165 ----
-  ac_clean_files=$ac_clean_files_save
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-  $as_echo_n "checking for suffix of object files... " >&6; }
-! if ${ac_cv_objext+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 3167,3174 ****
-  
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error "cannot compute suffix of object files: cannot compile
-! See \`config.log' for more details." "$LINENO" 5; }
-  fi
-  rm -f conftest.$ac_cv_objext conftest.$ac_ext
-  fi
---- 3199,3206 ----
-  
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "cannot compute suffix of object files: cannot compile
-! See \`config.log' for more details" "$LINENO" 5; }
-  fi
-  rm -f conftest.$ac_cv_objext conftest.$ac_ext
-  fi
-***************
-*** 3178,3184 ****
-  ac_objext=$OBJEXT
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-  $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-! if test "${ac_cv_c_compiler_gnu+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 3210,3216 ----
-  ac_objext=$OBJEXT
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-  $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-! if ${ac_cv_c_compiler_gnu+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 3215,3221 ****
-  ac_save_CFLAGS=$CFLAGS
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-  $as_echo_n "checking whether $CC accepts -g... " >&6; }
-! if test "${ac_cv_prog_cc_g+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_save_c_werror_flag=$ac_c_werror_flag
---- 3247,3253 ----
-  ac_save_CFLAGS=$CFLAGS
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-  $as_echo_n "checking whether $CC accepts -g... " >&6; }
-! if ${ac_cv_prog_cc_g+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_save_c_werror_flag=$ac_c_werror_flag
-***************
-*** 3293,3299 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-  $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-! if test "${ac_cv_prog_cc_c89+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_cv_prog_cc_c89=no
---- 3325,3331 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-  $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-! if ${ac_cv_prog_cc_c89+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_cv_prog_cc_c89=no
-***************
-*** 3302,3309 ****
-  /* end confdefs.h.  */
-  #include <stdarg.h>
-  #include <stdio.h>
-! #include <sys/types.h>
-! #include <sys/stat.h>
-  /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-  struct buf { int x; };
-  FILE * (*rcsopen) (struct buf *, struct stat *, int);
---- 3334,3340 ----
-  /* end confdefs.h.  */
-  #include <stdarg.h>
-  #include <stdio.h>
-! struct stat;
-  /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-  struct buf { int x; };
-  FILE * (*rcsopen) (struct buf *, struct stat *, int);
-***************
-*** 3399,3405 ****
-    CPP=
-  fi
-  if test -z "$CPP"; then
-!   if test "${ac_cv_prog_CPP+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-        # Double quotes because CPP needs to be expanded
---- 3430,3436 ----
-    CPP=
-  fi
-  if test -z "$CPP"; then
-!   if ${ac_cv_prog_CPP+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-        # Double quotes because CPP needs to be expanded
-***************
-*** 3429,3435 ****
-    # Broken: fails on valid input.
-  continue
-  fi
-! rm -f conftest.err conftest.$ac_ext
-  
-    # OK, works on sane cases.  Now check whether nonexistent headers
-    # can be detected and how.
---- 3460,3466 ----
-    # Broken: fails on valid input.
-  continue
-  fi
-! rm -f conftest.err conftest.i conftest.$ac_ext
-  
-    # OK, works on sane cases.  Now check whether nonexistent headers
-    # can be detected and how.
-***************
-*** 3445,3455 ****
-  ac_preproc_ok=:
-  break
-  fi
-! rm -f conftest.err conftest.$ac_ext
-  
-  done
-  # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-! rm -f conftest.err conftest.$ac_ext
-  if $ac_preproc_ok; then :
-    break
-  fi
---- 3476,3486 ----
-  ac_preproc_ok=:
-  break
-  fi
-! rm -f conftest.err conftest.i conftest.$ac_ext
-  
-  done
-  # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-! rm -f conftest.i conftest.err conftest.$ac_ext
-  if $ac_preproc_ok; then :
-    break
-  fi
-***************
-*** 3488,3494 ****
-    # Broken: fails on valid input.
-  continue
-  fi
-! rm -f conftest.err conftest.$ac_ext
-  
-    # OK, works on sane cases.  Now check whether nonexistent headers
-    # can be detected and how.
---- 3519,3525 ----
-    # Broken: fails on valid input.
-  continue
-  fi
-! rm -f conftest.err conftest.i conftest.$ac_ext
-  
-    # OK, works on sane cases.  Now check whether nonexistent headers
-    # can be detected and how.
-***************
-*** 3504,3521 ****
-  ac_preproc_ok=:
-  break
-  fi
-! rm -f conftest.err conftest.$ac_ext
-  
-  done
-  # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-! rm -f conftest.err conftest.$ac_ext
-  if $ac_preproc_ok; then :
-  
-  else
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error "C preprocessor \"$CPP\" fails sanity check
-! See \`config.log' for more details." "$LINENO" 5; }
-  fi
-  
-  ac_ext=c
---- 3535,3552 ----
-  ac_preproc_ok=:
-  break
-  fi
-! rm -f conftest.err conftest.i conftest.$ac_ext
-  
-  done
-  # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-! rm -f conftest.i conftest.err conftest.$ac_ext
-  if $ac_preproc_ok; then :
-  
-  else
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-! See \`config.log' for more details" "$LINENO" 5; }
-  fi
-  
-  ac_ext=c
-***************
-*** 3527,3533 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-  $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-! if test "${ac_cv_path_GREP+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -z "$GREP"; then
---- 3558,3564 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-  $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-! if ${ac_cv_path_GREP+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -z "$GREP"; then
-***************
-*** 3541,3547 ****
-      for ac_prog in grep ggrep; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-!       { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-  # Check for GNU ac_path_GREP and select it if it is found.
-    # Check for GNU $ac_path_GREP
-  case `"$ac_path_GREP" --version 2>&1` in
---- 3572,3578 ----
-      for ac_prog in grep ggrep; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-!       as_fn_executable_p "$ac_path_GREP" || continue
-  # Check for GNU ac_path_GREP and select it if it is found.
-    # Check for GNU $ac_path_GREP
-  case `"$ac_path_GREP" --version 2>&1` in
-***************
-*** 3576,3582 ****
-    done
-  IFS=$as_save_IFS
-    if test -z "$ac_cv_path_GREP"; then
-!     as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-    fi
-  else
-    ac_cv_path_GREP=$GREP
---- 3607,3613 ----
-    done
-  IFS=$as_save_IFS
-    if test -z "$ac_cv_path_GREP"; then
-!     as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-    fi
-  else
-    ac_cv_path_GREP=$GREP
-***************
-*** 3590,3596 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-  $as_echo_n "checking for egrep... " >&6; }
-! if test "${ac_cv_path_EGREP+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
---- 3621,3627 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-  $as_echo_n "checking for egrep... " >&6; }
-! if ${ac_cv_path_EGREP+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-***************
-*** 3607,3613 ****
-      for ac_prog in egrep; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-!       { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-  # Check for GNU ac_path_EGREP and select it if it is found.
-    # Check for GNU $ac_path_EGREP
-  case `"$ac_path_EGREP" --version 2>&1` in
---- 3638,3644 ----
-      for ac_prog in egrep; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-!       as_fn_executable_p "$ac_path_EGREP" || continue
-  # Check for GNU ac_path_EGREP and select it if it is found.
-    # Check for GNU $ac_path_EGREP
-  case `"$ac_path_EGREP" --version 2>&1` in
-***************
-*** 3642,3648 ****
-    done
-  IFS=$as_save_IFS
-    if test -z "$ac_cv_path_EGREP"; then
-!     as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-    fi
-  else
-    ac_cv_path_EGREP=$EGREP
---- 3673,3679 ----
-    done
-  IFS=$as_save_IFS
-    if test -z "$ac_cv_path_EGREP"; then
-!     as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-    fi
-  else
-    ac_cv_path_EGREP=$EGREP
-***************
-*** 3666,3672 ****
-  rm -f conftest*
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-  $as_echo_n "checking for library containing strerror... " >&6; }
-! if test "${ac_cv_search_strerror+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_func_search_save_LIBS=$LIBS
---- 3697,3703 ----
-  rm -f conftest*
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-  $as_echo_n "checking for library containing strerror... " >&6; }
-! if ${ac_cv_search_strerror+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_func_search_save_LIBS=$LIBS
-***************
-*** 3700,3710 ****
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext
-!   if test "${ac_cv_search_strerror+set}" = set; then :
-    break
-  fi
-  done
-! if test "${ac_cv_search_strerror+set}" = set; then :
-  
-  else
-    ac_cv_search_strerror=no
---- 3731,3741 ----
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext
-!   if ${ac_cv_search_strerror+:} false; then :
-    break
-  fi
-  done
-! if ${ac_cv_search_strerror+:} false; then :
-  
-  else
-    ac_cv_search_strerror=no
-***************
-*** 3725,3731 ****
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_AWK+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$AWK"; then
---- 3756,3762 ----
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_AWK+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$AWK"; then
-***************
-*** 3737,3743 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_AWK="$ac_prog"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 3768,3774 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_AWK="$ac_prog"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 3765,3771 ****
-  set dummy strip; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_STRIP+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$STRIP"; then
---- 3796,3802 ----
-  set dummy strip; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_STRIP+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$STRIP"; then
-***************
-*** 3777,3783 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_STRIP="strip"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 3808,3814 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_STRIP="strip"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 3804,3810 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-  $as_echo_n "checking for ANSI C header files... " >&6; }
-! if test "${ac_cv_header_stdc+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 3835,3841 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-  $as_echo_n "checking for ANSI C header files... " >&6; }
-! if ${ac_cv_header_stdc+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 3916,3922 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
-  $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
-! if test "${ac_cv_header_sys_wait_h+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 3947,3953 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
-  $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
-! if ${ac_cv_header_sys_wait_h+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 4107,4113 ****
-  set dummy xcode-select; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_XCODE_SELECT+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $XCODE_SELECT in
---- 4138,4144 ----
-  set dummy xcode-select; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_XCODE_SELECT+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $XCODE_SELECT in
-***************
-*** 4121,4127 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 4152,4158 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 4230,4237 ****
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-  "
-! eval as_val=\$$as_ac_Header
-!    if test "x$as_val" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
---- 4261,4267 ----
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-  "
-! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
-***************
-*** 4242,4248 ****
-  
-  
-  ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
-! if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
-    CARBON=yes
-  fi
-  
---- 4272,4278 ----
-  
-  
-  ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
-! if test "x$ac_cv_header_Carbon_Carbon_h" = xyes; then :
-    CARBON=yes
-  fi
-  
-***************
-*** 4266,4272 ****
-  for ac_header in AvailabilityMacros.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_AVAILABILITYMACROS_H 1
-  _ACEOF
---- 4296,4302 ----
-  for ac_header in AvailabilityMacros.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-! if test "x$ac_cv_header_AvailabilityMacros_h" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_AVAILABILITYMACROS_H 1
-  _ACEOF
-***************
-*** 4296,4302 ****
-        have_local_include=yes
-        have_local_lib=yes
-        ;;
-!     *) as_fn_error "must pass path argument to --with-local-dir" "$LINENO" 5 ;;
-      esac
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $local_dir" >&5
-  $as_echo "$local_dir" >&6; }
---- 4326,4332 ----
-        have_local_include=yes
-        have_local_lib=yes
-        ;;
-!     *) as_fn_error $? "must pass path argument to --with-local-dir" "$LINENO" 5 ;;
-      esac
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $local_dir" >&5
-  $as_echo "$local_dir" >&6; }
-***************
-*** 4505,4511 ****
-  $as_echo "no" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
-  $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
-! if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 4535,4541 ----
-  $as_echo "no" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
-  $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
-! if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 4539,4545 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
-  $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
-! if test "x$ac_cv_lib_selinux_is_selinux_enabled" = x""yes; then :
-    LIBS="$LIBS -lselinux"
-  	   $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
-  
---- 4569,4575 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
-  $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
-! if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
-    LIBS="$LIBS -lselinux"
-  	   $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
-  
-***************
-*** 4701,4707 ****
-  set dummy luajit; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_luajit+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_luajit in
---- 4731,4737 ----
-  set dummy luajit; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_luajit+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_luajit in
-***************
-*** 4715,4721 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_luajit="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 4745,4751 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_luajit="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 4740,4746 ****
-        if test "X$vi_cv_path_luajit" != "X"; then
-  		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5
-  $as_echo_n "checking LuaJIT version... " >&6; }
-! if test "${vi_cv_version_luajit+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
---- 4770,4776 ----
-        if test "X$vi_cv_path_luajit" != "X"; then
-  		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5
-  $as_echo_n "checking LuaJIT version... " >&6; }
-! if ${vi_cv_version_luajit+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
-***************
-*** 4749,4755 ****
-  $as_echo "$vi_cv_version_luajit" >&6; }
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version of LuaJIT" >&5
-  $as_echo_n "checking Lua version of LuaJIT... " >&6; }
-! if test "${vi_cv_version_lua_luajit+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'`
---- 4779,4785 ----
-  $as_echo "$vi_cv_version_luajit" >&6; }
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version of LuaJIT" >&5
-  $as_echo_n "checking Lua version of LuaJIT... " >&6; }
-! if ${vi_cv_version_lua_luajit+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'`
-***************
-*** 4764,4770 ****
-  set dummy lua; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_plain_lua+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_plain_lua in
---- 4794,4800 ----
-  set dummy lua; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_plain_lua+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_plain_lua in
-***************
-*** 4778,4784 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_plain_lua="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 4808,4814 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_plain_lua="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 4803,4809 ****
-        if test "X$vi_cv_path_plain_lua" != "X"; then
-  		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
-  $as_echo_n "checking Lua version... " >&6; }
-! if test "${vi_cv_version_plain_lua+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'`
---- 4833,4839 ----
-        if test "X$vi_cv_path_plain_lua" != "X"; then
-  		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
-  $as_echo_n "checking Lua version... " >&6; }
-! if ${vi_cv_version_plain_lua+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'`
-***************
-*** 4963,4969 ****
-      fi
-    fi
-    if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then
-!     as_fn_error "could not configure lua" "$LINENO" 5
-    fi
-  
-  
---- 4993,4999 ----
-      fi
-    fi
-    if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then
-!     as_fn_error $? "could not configure lua" "$LINENO" 5
-    fi
-  
-  
-***************
-*** 5017,5023 ****
-  set dummy mzscheme; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_mzscheme+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_mzscheme in
---- 5047,5053 ----
-  set dummy mzscheme; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_mzscheme+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_mzscheme in
-***************
-*** 5031,5037 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_mzscheme="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 5061,5067 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_mzscheme="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 5064,5070 ****
-  	if test "X$vi_cv_path_mzscheme" != "X"; then
-  	    	    { $as_echo "$as_me:${as_lineno-$LINENO}: checking MzScheme install prefix" >&5
-  $as_echo_n "checking MzScheme install prefix... " >&6; }
-! if test "${vi_cv_path_mzscheme_pfx+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    	    	    echo "(display (simplify-path		\
---- 5094,5100 ----
-  	if test "X$vi_cv_path_mzscheme" != "X"; then
-  	    	    { $as_echo "$as_me:${as_lineno-$LINENO}: checking MzScheme install prefix" >&5
-  $as_echo_n "checking MzScheme install prefix... " >&6; }
-! if ${vi_cv_path_mzscheme_pfx+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    	    	    echo "(display (simplify-path		\
-***************
-*** 5226,5232 ****
-  
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void in -lffi" >&5
-  $as_echo_n "checking for ffi_type_void in -lffi... " >&6; }
-! if test "${ac_cv_lib_ffi_ffi_type_void+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 5256,5262 ----
-  
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void in -lffi" >&5
-  $as_echo_n "checking for ffi_type_void in -lffi... " >&6; }
-! if ${ac_cv_lib_ffi_ffi_type_void+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 5260,5266 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_type_void" >&5
-  $as_echo "$ac_cv_lib_ffi_ffi_type_void" >&6; }
-! if test "x$ac_cv_lib_ffi_ffi_type_void" = x""yes; then :
-    MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"
-  fi
-  
---- 5290,5296 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_type_void" >&5
-  $as_echo "$ac_cv_lib_ffi_ffi_type_void" >&6; }
-! if test "x$ac_cv_lib_ffi_ffi_type_void" = xyes; then :
-    MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"
-  fi
-  
-***************
-*** 5336,5342 ****
-  set dummy perl; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_perl+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_perl in
---- 5366,5372 ----
-  set dummy perl; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_perl+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_perl in
-***************
-*** 5350,5356 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 5380,5386 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 5498,5504 ****
-    fi
-  
-    if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
-!     as_fn_error "could not configure perl" "$LINENO" 5
-    fi
-  fi
-  
---- 5528,5534 ----
-    fi
-  
-    if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
-!     as_fn_error $? "could not configure perl" "$LINENO" 5
-    fi
-  fi
-  
-***************
-*** 5526,5532 ****
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_python+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_python in
---- 5556,5562 ----
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_python+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_python in
-***************
-*** 5540,5546 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_python="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 5570,5576 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_python="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 5569,5575 ****
-  
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
-  $as_echo_n "checking Python version... " >&6; }
-! if test "${vi_cv_var_python_version+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    vi_cv_var_python_version=`
---- 5599,5605 ----
-  
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
-  $as_echo_n "checking Python version... " >&6; }
-! if ${vi_cv_var_python_version+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    vi_cv_var_python_version=`
-***************
-*** 5589,5595 ****
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
-  $as_echo_n "checking Python's install prefix... " >&6; }
-! if test "${vi_cv_path_python_pfx+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python_pfx=`
---- 5619,5625 ----
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
-  $as_echo_n "checking Python's install prefix... " >&6; }
-! if ${vi_cv_path_python_pfx+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python_pfx=`
-***************
-*** 5601,5607 ****
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
-  $as_echo_n "checking Python's execution prefix... " >&6; }
-! if test "${vi_cv_path_python_epfx+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python_epfx=`
---- 5631,5637 ----
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
-  $as_echo_n "checking Python's execution prefix... " >&6; }
-! if ${vi_cv_path_python_epfx+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python_epfx=`
-***************
-*** 5612,5618 ****
-  $as_echo "$vi_cv_path_python_epfx" >&6; }
-  
-  
-!       if test "${vi_cv_path_pythonpath+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_pythonpath=`
---- 5642,5648 ----
-  $as_echo "$vi_cv_path_python_epfx" >&6; }
-  
-  
-!       if ${vi_cv_path_pythonpath+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_pythonpath=`
-***************
-*** 5632,5638 ****
-  
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
-  $as_echo_n "checking Python's configuration directory... " >&6; }
-! if test "${vi_cv_path_python_conf+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
---- 5662,5668 ----
-  
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
-  $as_echo_n "checking Python's configuration directory... " >&6; }
-! if ${vi_cv_path_python_conf+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-***************
-*** 5662,5668 ****
-  $as_echo "can't find it!" >&6; }
-        else
-  
-! 			if test "${vi_cv_path_python_plibs+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
---- 5692,5698 ----
-  $as_echo "can't find it!" >&6; }
-        else
-  
-! 			if ${vi_cv_path_python_plibs+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-***************
-*** 5803,5809 ****
-    fi
-  
-    if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
-!     as_fn_error "could not configure python" "$LINENO" 5
-    fi
-  fi
-  
---- 5833,5839 ----
-    fi
-  
-    if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
-!     as_fn_error $? "could not configure python" "$LINENO" 5
-    fi
-  fi
-  
-***************
-*** 5833,5839 ****
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_python3+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_python3 in
---- 5863,5869 ----
-  set dummy $ac_prog; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_python3+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_python3 in
-***************
-*** 5847,5853 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_python3="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 5877,5883 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_python3="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 5876,5882 ****
-  
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
-  $as_echo_n "checking Python version... " >&6; }
-! if test "${vi_cv_var_python3_version+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    vi_cv_var_python3_version=`
---- 5906,5912 ----
-  
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
-  $as_echo_n "checking Python version... " >&6; }
-! if ${vi_cv_var_python3_version+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    vi_cv_var_python3_version=`
-***************
-*** 5896,5902 ****
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
-  $as_echo_n "checking Python's abiflags... " >&6; }
-! if test "${vi_cv_var_python3_abiflags+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
---- 5926,5932 ----
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
-  $as_echo_n "checking Python's abiflags... " >&6; }
-! if ${vi_cv_var_python3_abiflags+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-***************
-*** 5913,5919 ****
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
-  $as_echo_n "checking Python's install prefix... " >&6; }
-! if test "${vi_cv_path_python3_pfx+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python3_pfx=`
---- 5943,5949 ----
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
-  $as_echo_n "checking Python's install prefix... " >&6; }
-! if ${vi_cv_path_python3_pfx+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python3_pfx=`
-***************
-*** 5925,5931 ****
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
-  $as_echo_n "checking Python's execution prefix... " >&6; }
-! if test "${vi_cv_path_python3_epfx+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python3_epfx=`
---- 5955,5961 ----
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
-  $as_echo_n "checking Python's execution prefix... " >&6; }
-! if ${vi_cv_path_python3_epfx+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python3_epfx=`
-***************
-*** 5936,5942 ****
-  $as_echo "$vi_cv_path_python3_epfx" >&6; }
-  
-  
-!       if test "${vi_cv_path_python3path+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python3path=`
---- 5966,5972 ----
-  $as_echo "$vi_cv_path_python3_epfx" >&6; }
-  
-  
-!       if ${vi_cv_path_python3path+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-     vi_cv_path_python3path=`
-***************
-*** 5956,5962 ****
-  
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
-  $as_echo_n "checking Python's configuration directory... " >&6; }
-! if test "${vi_cv_path_python3_conf+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
---- 5986,5992 ----
-  
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
-  $as_echo_n "checking Python's configuration directory... " >&6; }
-! if ${vi_cv_path_python3_conf+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-***************
-*** 5987,5993 ****
-  $as_echo "can't find it!" >&6; }
-        else
-  
-!                         if test "${vi_cv_path_python3_plibs+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
---- 6017,6023 ----
-  $as_echo "can't find it!" >&6; }
-        else
-  
-!                         if ${vi_cv_path_python3_plibs+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-***************
-*** 6114,6120 ****
-      fi
-    fi
-    if test "$fail_if_missing" = "yes" -a "$python3_ok" != "yes"; then
-!     as_fn_error "could not configure python3" "$LINENO" 5
-    fi
-  fi
-  
---- 6144,6150 ----
-      fi
-    fi
-    if test "$fail_if_missing" = "yes" -a "$python3_ok" != "yes"; then
-!     as_fn_error $? "could not configure python3" "$LINENO" 5
-    fi
-  fi
-  
-***************
-*** 6138,6145 ****
-    if test "$cross_compiling" = yes; then :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error "cannot run test program while cross compiling
-! See \`config.log' for more details." "$LINENO" 5; }
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
---- 6168,6175 ----
-    if test "$cross_compiling" = yes; then :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "cannot run test program while cross compiling
-! See \`config.log' for more details" "$LINENO" 5; }
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
-***************
-*** 6203,6210 ****
-    if test "$cross_compiling" = yes; then :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error "cannot run test program while cross compiling
-! See \`config.log' for more details." "$LINENO" 5; }
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
---- 6233,6240 ----
-    if test "$cross_compiling" = yes; then :
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error $? "cannot run test program while cross compiling
-! See \`config.log' for more details" "$LINENO" 5; }
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
-***************
-*** 6378,6384 ****
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
---- 6408,6414 ----
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
-***************
-*** 6392,6398 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 6422,6428 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 6422,6428 ****
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
---- 6452,6458 ----
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
-***************
-*** 6436,6442 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 6466,6472 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 6465,6471 ****
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
---- 6495,6501 ----
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
-***************
-*** 6479,6485 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 6509,6515 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 6508,6514 ****
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
---- 6538,6544 ----
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
-***************
-*** 6522,6528 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 6552,6558 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 6551,6557 ****
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
---- 6581,6587 ----
-  set dummy $tclsh_name; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_tcl in
-***************
-*** 6565,6571 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 6595,6601 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 6682,6688 ****
-      fi
-    fi
-    if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
-!     as_fn_error "could not configure Tcl" "$LINENO" 5
-    fi
-  fi
-  
---- 6712,6718 ----
-      fi
-    fi
-    if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
-!     as_fn_error $? "could not configure Tcl" "$LINENO" 5
-    fi
-  fi
-  
-***************
-*** 6720,6726 ****
-  set dummy $RUBY_CMD; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_ruby in
---- 6750,6756 ----
-  set dummy $RUBY_CMD; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_vi_cv_path_ruby+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $vi_cv_path_ruby in
-***************
-*** 6734,6740 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_vi_cv_path_ruby="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 6764,6770 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_vi_cv_path_ruby="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 6836,6842 ****
-    fi
-  
-    if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
-!     as_fn_error "could not configure Ruby" "$LINENO" 5
-    fi
-  fi
-  
---- 6866,6872 ----
-    fi
-  
-    if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
-!     as_fn_error $? "could not configure Ruby" "$LINENO" 5
-    fi
-  fi
-  
-***************
-*** 6898,6904 ****
-  $as_echo "no" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
-  $as_echo_n "checking for socket in -lsocket... " >&6; }
-! if test "${ac_cv_lib_socket_socket+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 6928,6934 ----
-  $as_echo "no" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
-  $as_echo_n "checking for socket in -lsocket... " >&6; }
-! if ${ac_cv_lib_socket_socket+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 6932,6938 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
-  $as_echo "$ac_cv_lib_socket_socket" >&6; }
-! if test "x$ac_cv_lib_socket_socket" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBSOCKET 1
-  _ACEOF
---- 6962,6968 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
-  $as_echo "$ac_cv_lib_socket_socket" >&6; }
-! if test "x$ac_cv_lib_socket_socket" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBSOCKET 1
-  _ACEOF
-***************
-*** 6943,6949 ****
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-  $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-! if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 6973,6979 ----
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-  $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-! if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 6977,6983 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-  $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-! if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBNSL 1
-  _ACEOF
---- 7007,7013 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-  $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-! if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBNSL 1
-  _ACEOF
-***************
-*** 7127,7133 ****
-  set dummy xmkmf; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_xmkmfpath+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $xmkmfpath in
---- 7157,7163 ----
-  set dummy xmkmf; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_xmkmfpath+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $xmkmfpath in
-***************
-*** 7141,7147 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 7171,7177 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 7179,7186 ****
-    have_x=disabled
-  else
-    case $x_includes,$x_libraries in #(
-!     *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #(
-!     *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    # One or both of the vars are not set, and there is no cached value.
---- 7209,7216 ----
-    have_x=disabled
-  else
-    case $x_includes,$x_libraries in #(
-!     *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
-!     *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    # One or both of the vars are not set, and there is no cached value.
-***************
-*** 7197,7203 ****
-  	@echo libdir='${LIBDIR}'
-  _ACEOF
-    if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
-!     # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-      for ac_var in incroot usrlibdir libdir; do
-        eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
-      done
---- 7227,7233 ----
-  	@echo libdir='${LIBDIR}'
-  _ACEOF
-    if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
-!     # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-      for ac_var in incroot usrlibdir libdir; do
-        eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
-      done
-***************
-*** 7283,7289 ****
-    fi
-  done
-  fi
-! rm -f conftest.err conftest.$ac_ext
-  fi # $ac_x_includes = no
-  
-  if test "$ac_x_libraries" = no; then
---- 7313,7319 ----
-    fi
-  done
-  fi
-! rm -f conftest.err conftest.i conftest.$ac_ext
-  fi # $ac_x_includes = no
-  
-  if test "$ac_x_libraries" = no; then
-***************
-*** 7457,7463 ****
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
-  $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
-! if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7487,7493 ----
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
-  $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
-! if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7491,7504 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
-  $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
-! if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
-  fi
-  
-      if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
-  $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
-! if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7521,7534 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
-  $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
-! if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
-  fi
-  
-      if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
-  $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
-! if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7532,7538 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
-  $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
-! if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
-  fi
-  
---- 7562,7568 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
-  $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
-! if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
-  fi
-  
-***************
-*** 7551,7564 ****
-      # The functions gethostbyname, getservbyname, and inet_addr are
-      # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
-      ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-! if test "x$ac_cv_func_gethostbyname" = x""yes; then :
-  
-  fi
-  
-      if test $ac_cv_func_gethostbyname = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-  $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-! if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7581,7594 ----
-      # The functions gethostbyname, getservbyname, and inet_addr are
-      # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
-      ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-! if test "x$ac_cv_func_gethostbyname" = xyes; then :
-  
-  fi
-  
-      if test $ac_cv_func_gethostbyname = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-  $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-! if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7592,7605 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-  $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-! if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
-  fi
-  
-        if test $ac_cv_lib_nsl_gethostbyname = no; then
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
-  $as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
-! if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7622,7635 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-  $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-! if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
-  fi
-  
-        if test $ac_cv_lib_nsl_gethostbyname = no; then
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
-  $as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
-! if ${ac_cv_lib_bsd_gethostbyname+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7633,7639 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
-  $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
-! if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
-  fi
-  
---- 7663,7669 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
-  $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
-! if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
-  fi
-  
-***************
-*** 7648,7661 ****
-      # must be given before -lnsl if both are needed.  We assume that
-      # if connect needs -lnsl, so does gethostbyname.
-      ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-! if test "x$ac_cv_func_connect" = x""yes; then :
-  
-  fi
-  
-      if test $ac_cv_func_connect = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
-  $as_echo_n "checking for connect in -lsocket... " >&6; }
-! if test "${ac_cv_lib_socket_connect+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7678,7691 ----
-      # must be given before -lnsl if both are needed.  We assume that
-      # if connect needs -lnsl, so does gethostbyname.
-      ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-! if test "x$ac_cv_func_connect" = xyes; then :
-  
-  fi
-  
-      if test $ac_cv_func_connect = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
-  $as_echo_n "checking for connect in -lsocket... " >&6; }
-! if ${ac_cv_lib_socket_connect+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7689,7695 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
-  $as_echo "$ac_cv_lib_socket_connect" >&6; }
-! if test "x$ac_cv_lib_socket_connect" = x""yes; then :
-    X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
-  fi
-  
---- 7719,7725 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
-  $as_echo "$ac_cv_lib_socket_connect" >&6; }
-! if test "x$ac_cv_lib_socket_connect" = xyes; then :
-    X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
-  fi
-  
-***************
-*** 7697,7710 ****
-  
-      # Guillermo Gomez says -lposix is necessary on A/UX.
-      ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
-! if test "x$ac_cv_func_remove" = x""yes; then :
-  
-  fi
-  
-      if test $ac_cv_func_remove = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
-  $as_echo_n "checking for remove in -lposix... " >&6; }
-! if test "${ac_cv_lib_posix_remove+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7727,7740 ----
-  
-      # Guillermo Gomez says -lposix is necessary on A/UX.
-      ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
-! if test "x$ac_cv_func_remove" = xyes; then :
-  
-  fi
-  
-      if test $ac_cv_func_remove = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
-  $as_echo_n "checking for remove in -lposix... " >&6; }
-! if ${ac_cv_lib_posix_remove+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7738,7744 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
-  $as_echo "$ac_cv_lib_posix_remove" >&6; }
-! if test "x$ac_cv_lib_posix_remove" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
-  fi
-  
---- 7768,7774 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
-  $as_echo "$ac_cv_lib_posix_remove" >&6; }
-! if test "x$ac_cv_lib_posix_remove" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
-  fi
-  
-***************
-*** 7746,7759 ****
-  
-      # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-      ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
-! if test "x$ac_cv_func_shmat" = x""yes; then :
-  
-  fi
-  
-      if test $ac_cv_func_shmat = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
-  $as_echo_n "checking for shmat in -lipc... " >&6; }
-! if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7776,7789 ----
-  
-      # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-      ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
-! if test "x$ac_cv_func_shmat" = xyes; then :
-  
-  fi
-  
-      if test $ac_cv_func_shmat = no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
-  $as_echo_n "checking for shmat in -lipc... " >&6; }
-! if ${ac_cv_lib_ipc_shmat+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7787,7793 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
-  $as_echo "$ac_cv_lib_ipc_shmat" >&6; }
-! if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
-  fi
-  
---- 7817,7823 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
-  $as_echo "$ac_cv_lib_ipc_shmat" >&6; }
-! if test "x$ac_cv_lib_ipc_shmat" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
-  fi
-  
-***************
-*** 7805,7811 ****
-    # John Interrante, Karl Berry
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
-  $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
-! if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7835,7841 ----
-    # John Interrante, Karl Berry
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
-  $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
-! if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7839,7845 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
-  $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
-! if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
-    X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
-  fi
-  
---- 7869,7875 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
-  $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
-! if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then :
-    X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
-  fi
-  
-***************
-*** 7917,7923 ****
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
-  $as_echo_n "checking for _XdmcpAuthDoIt in -lXdmcp... " >&6; }
-! if test "${ac_cv_lib_Xdmcp__XdmcpAuthDoIt+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7947,7953 ----
-  
-              { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
-  $as_echo_n "checking for _XdmcpAuthDoIt in -lXdmcp... " >&6; }
-! if ${ac_cv_lib_Xdmcp__XdmcpAuthDoIt+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7951,7964 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
-  $as_echo "$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6; }
-! if test "x$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"
-  fi
-  
-  
-                      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceOpenConnection in -lICE" >&5
-  $as_echo_n "checking for IceOpenConnection in -lICE... " >&6; }
-! if test "${ac_cv_lib_ICE_IceOpenConnection+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 7981,7994 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
-  $as_echo "$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6; }
-! if test "x$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"
-  fi
-  
-  
-                      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceOpenConnection in -lICE" >&5
-  $as_echo_n "checking for IceOpenConnection in -lICE... " >&6; }
-! if ${ac_cv_lib_ICE_IceOpenConnection+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 7992,7998 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
-  $as_echo "$ac_cv_lib_ICE_IceOpenConnection" >&6; }
-! if test "x$ac_cv_lib_ICE_IceOpenConnection" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"
-  fi
-  
---- 8022,8028 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
-  $as_echo "$ac_cv_lib_ICE_IceOpenConnection" >&6; }
-! if test "x$ac_cv_lib_ICE_IceOpenConnection" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"
-  fi
-  
-***************
-*** 8000,8006 ****
-          LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmCreatePixmapFromData in -lXpm" >&5
-  $as_echo_n "checking for XpmCreatePixmapFromData in -lXpm... " >&6; }
-! if test "${ac_cv_lib_Xpm_XpmCreatePixmapFromData+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 8030,8036 ----
-          LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmCreatePixmapFromData in -lXpm" >&5
-  $as_echo_n "checking for XpmCreatePixmapFromData in -lXpm... " >&6; }
-! if ${ac_cv_lib_Xpm_XpmCreatePixmapFromData+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 8034,8040 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
-  $as_echo "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6; }
-! if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = x""yes; then :
-    X_PRE_LIBS="$X_PRE_LIBS -lXpm"
-  fi
-  
---- 8064,8070 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
-  $as_echo "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6; }
-! if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then :
-    X_PRE_LIBS="$X_PRE_LIBS -lXpm"
-  fi
-  
-***************
-*** 8092,8102 ****
-  
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t is 2 bytes" >&5
-  $as_echo_n "checking size of wchar_t is 2 bytes... " >&6; }
-!     if test "${ac_cv_small_wchar_t+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test "$cross_compiling" = yes; then :
-!   as_fn_error "failed to compile test program" "$LINENO" 5
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
---- 8122,8132 ----
-  
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t is 2 bytes" >&5
-  $as_echo_n "checking size of wchar_t is 2 bytes... " >&6; }
-!     if ${ac_cv_small_wchar_t+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test "$cross_compiling" = yes; then :
-!   as_fn_error $? "failed to compile test program" "$LINENO" 5
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-  /* end confdefs.h.  */
-***************
-*** 8395,8401 ****
-  set dummy pkg-config; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $PKG_CONFIG in
---- 8425,8431 ----
-  set dummy pkg-config; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_path_PKG_CONFIG+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    case $PKG_CONFIG in
-***************
-*** 8409,8415 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 8439,8445 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 8634,8640 ****
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-  $as_echo "not found" >&6; }
-        if test "x" = xfail; then
-! 	as_fn_error "Could not find libgnomeui-2.0 via pkg-config" "$LINENO" 5
-        fi
-      fi
-    }
---- 8664,8670 ----
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-  $as_echo "not found" >&6; }
-        if test "x" = xfail; then
-! 	as_fn_error $? "Could not find libgnomeui-2.0 via pkg-config" "$LINENO" 5
-        fi
-      fi
-    }
-***************
-*** 8827,8833 ****
-    LDFLAGS="$X_LIBS $LDFLAGS"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShapeQueryExtension in -lXext" >&5
-  $as_echo_n "checking for XShapeQueryExtension in -lXext... " >&6; }
-! if test "${ac_cv_lib_Xext_XShapeQueryExtension+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 8857,8863 ----
-    LDFLAGS="$X_LIBS $LDFLAGS"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShapeQueryExtension in -lXext" >&5
-  $as_echo_n "checking for XShapeQueryExtension in -lXext... " >&6; }
-! if ${ac_cv_lib_Xext_XShapeQueryExtension+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 8861,8873 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
-  $as_echo "$ac_cv_lib_Xext_XShapeQueryExtension" >&6; }
-! if test "x$ac_cv_lib_Xext_XShapeQueryExtension" = x""yes; then :
-    GUI_X_LIBS="-lXext"
-  fi
-  
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wslen in -lw" >&5
-  $as_echo_n "checking for wslen in -lw... " >&6; }
-! if test "${ac_cv_lib_w_wslen+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 8891,8903 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
-  $as_echo "$ac_cv_lib_Xext_XShapeQueryExtension" >&6; }
-! if test "x$ac_cv_lib_Xext_XShapeQueryExtension" = xyes; then :
-    GUI_X_LIBS="-lXext"
-  fi
-  
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wslen in -lw" >&5
-  $as_echo_n "checking for wslen in -lw... " >&6; }
-! if ${ac_cv_lib_w_wslen+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 8901,8913 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_w_wslen" >&5
-  $as_echo "$ac_cv_lib_w_wslen" >&6; }
-! if test "x$ac_cv_lib_w_wslen" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"
-  fi
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
-  $as_echo_n "checking for dlsym in -ldl... " >&6; }
-! if test "${ac_cv_lib_dl_dlsym+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 8931,8943 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_w_wslen" >&5
-  $as_echo "$ac_cv_lib_w_wslen" >&6; }
-! if test "x$ac_cv_lib_w_wslen" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"
-  fi
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
-  $as_echo_n "checking for dlsym in -ldl... " >&6; }
-! if ${ac_cv_lib_dl_dlsym+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 8941,8953 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
-  $as_echo "$ac_cv_lib_dl_dlsym" >&6; }
-! if test "x$ac_cv_lib_dl_dlsym" = x""yes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"
-  fi
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XmuCreateStippledPixmap in -lXmu" >&5
-  $as_echo_n "checking for XmuCreateStippledPixmap in -lXmu... " >&6; }
-! if test "${ac_cv_lib_Xmu_XmuCreateStippledPixmap+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 8971,8983 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
-  $as_echo "$ac_cv_lib_dl_dlsym" >&6; }
-! if test "x$ac_cv_lib_dl_dlsym" = xyes; then :
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"
-  fi
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XmuCreateStippledPixmap in -lXmu" >&5
-  $as_echo_n "checking for XmuCreateStippledPixmap in -lXmu... " >&6; }
-! if ${ac_cv_lib_Xmu_XmuCreateStippledPixmap+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 8981,8994 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
-  $as_echo "$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6; }
-! if test "x$ac_cv_lib_Xmu_XmuCreateStippledPixmap" = x""yes; then :
-    GUI_X_LIBS="-lXmu $GUI_X_LIBS"
-  fi
-  
-    if test -z "$SKIP_MOTIF"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpEndJob in -lXp" >&5
-  $as_echo_n "checking for XpEndJob in -lXp... " >&6; }
-! if test "${ac_cv_lib_Xp_XpEndJob+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 9011,9024 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
-  $as_echo "$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6; }
-! if test "x$ac_cv_lib_Xmu_XmuCreateStippledPixmap" = xyes; then :
-    GUI_X_LIBS="-lXmu $GUI_X_LIBS"
-  fi
-  
-    if test -z "$SKIP_MOTIF"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpEndJob in -lXp" >&5
-  $as_echo_n "checking for XpEndJob in -lXp... " >&6; }
-! if ${ac_cv_lib_Xp_XpEndJob+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 9022,9028 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpEndJob" >&5
-  $as_echo "$ac_cv_lib_Xp_XpEndJob" >&6; }
-! if test "x$ac_cv_lib_Xp_XpEndJob" = x""yes; then :
-    GUI_X_LIBS="-lXp $GUI_X_LIBS"
-  fi
-  
---- 9052,9058 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpEndJob" >&5
-  $as_echo "$ac_cv_lib_Xp_XpEndJob" >&6; }
-! if test "x$ac_cv_lib_Xp_XpEndJob" = xyes; then :
-    GUI_X_LIBS="-lXp $GUI_X_LIBS"
-  fi
-  
-***************
-*** 9061,9067 ****
-    for ac_header in X11/SM/SMlib.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "X11/SM/SMlib.h" "ac_cv_header_X11_SM_SMlib_h" "$ac_includes_default"
-! if test "x$ac_cv_header_X11_SM_SMlib_h" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_X11_SM_SMLIB_H 1
-  _ACEOF
---- 9091,9097 ----
-    for ac_header in X11/SM/SMlib.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "X11/SM/SMlib.h" "ac_cv_header_X11_SM_SMlib_h" "$ac_includes_default"
-! if test "x$ac_cv_header_X11_SM_SMlib_h" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_X11_SM_SMLIB_H 1
-  _ACEOF
-***************
-*** 9081,9088 ****
-  do :
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-! eval as_val=\$$as_ac_Header
-!    if test "x$as_val" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
---- 9111,9117 ----
-  do :
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
-***************
-*** 9164,9171 ****
-  do :
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-! eval as_val=\$$as_ac_Header
-!    if test "x$as_val" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
---- 9193,9199 ----
-  do :
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
-***************
-*** 9233,9239 ****
-  
-  
-  if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
-!   as_fn_error "cannot use workshop without Motif" "$LINENO" 5
-  fi
-  
-  if test "$enable_xim" = "yes"; then
---- 9261,9267 ----
-  
-  
-  if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
-!   as_fn_error $? "cannot use workshop without Motif" "$LINENO" 5
-  fi
-  
-  if test "$enable_xim" = "yes"; then
-***************
-*** 9287,9299 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether toupper is broken" >&5
-  $as_echo_n "checking whether toupper is broken... " >&6; }
-! if test "${vim_cv_toupper_broken+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!     as_fn_error "cross-compiling: please set 'vim_cv_toupper_broken'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 9315,9327 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether toupper is broken" >&5
-  $as_echo_n "checking whether toupper is broken... " >&6; }
-! if ${vim_cv_toupper_broken+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!     as_fn_error $? "cross-compiling: please set 'vim_cv_toupper_broken'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 9377,9383 ****
-  rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  
-  ac_fn_c_check_header_mongrel "$LINENO" "elf.h" "ac_cv_header_elf_h" "$ac_includes_default"
-! if test "x$ac_cv_header_elf_h" = x""yes; then :
-    HAS_ELF=1
-  fi
-  
---- 9405,9411 ----
-  rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  
-  ac_fn_c_check_header_mongrel "$LINENO" "elf.h" "ac_cv_header_elf_h" "$ac_includes_default"
-! if test "x$ac_cv_header_elf_h" = xyes; then :
-    HAS_ELF=1
-  fi
-  
-***************
-*** 9385,9391 ****
-  if test "$HAS_ELF" = 1; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lelf" >&5
-  $as_echo_n "checking for main in -lelf... " >&6; }
-! if test "${ac_cv_lib_elf_main+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 9413,9419 ----
-  if test "$HAS_ELF" = 1; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lelf" >&5
-  $as_echo_n "checking for main in -lelf... " >&6; }
-! if ${ac_cv_lib_elf_main+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 9413,9419 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_main" >&5
-  $as_echo "$ac_cv_lib_elf_main" >&6; }
-! if test "x$ac_cv_lib_elf_main" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBELF 1
-  _ACEOF
---- 9441,9447 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_main" >&5
-  $as_echo "$ac_cv_lib_elf_main" >&6; }
-! if test "x$ac_cv_lib_elf_main" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBELF 1
-  _ACEOF
-***************
-*** 9429,9435 ****
-    as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-  $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-! if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 9457,9463 ----
-    as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-  $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-! if eval \${$as_ac_Header+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 9456,9463 ****
-  eval ac_res=\$$as_ac_Header
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-! eval as_val=\$$as_ac_Header
-!    if test "x$as_val" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-  _ACEOF
---- 9484,9490 ----
-  eval ac_res=\$$as_ac_Header
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-  _ACEOF
-***************
-*** 9470,9476 ****
-  if test $ac_header_dirent = dirent.h; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-  $as_echo_n "checking for library containing opendir... " >&6; }
-! if test "${ac_cv_search_opendir+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_func_search_save_LIBS=$LIBS
---- 9497,9503 ----
-  if test $ac_header_dirent = dirent.h; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-  $as_echo_n "checking for library containing opendir... " >&6; }
-! if ${ac_cv_search_opendir+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_func_search_save_LIBS=$LIBS
-***************
-*** 9504,9514 ****
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext
-!   if test "${ac_cv_search_opendir+set}" = set; then :
-    break
-  fi
-  done
-! if test "${ac_cv_search_opendir+set}" = set; then :
-  
-  else
-    ac_cv_search_opendir=no
---- 9531,9541 ----
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext
-!   if ${ac_cv_search_opendir+:} false; then :
-    break
-  fi
-  done
-! if ${ac_cv_search_opendir+:} false; then :
-  
-  else
-    ac_cv_search_opendir=no
-***************
-*** 9527,9533 ****
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-  $as_echo_n "checking for library containing opendir... " >&6; }
-! if test "${ac_cv_search_opendir+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_func_search_save_LIBS=$LIBS
---- 9554,9560 ----
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-  $as_echo_n "checking for library containing opendir... " >&6; }
-! if ${ac_cv_search_opendir+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_func_search_save_LIBS=$LIBS
-***************
-*** 9561,9571 ****
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext
-!   if test "${ac_cv_search_opendir+set}" = set; then :
-    break
-  fi
-  done
-! if test "${ac_cv_search_opendir+set}" = set; then :
-  
-  else
-    ac_cv_search_opendir=no
---- 9588,9598 ----
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext
-!   if ${ac_cv_search_opendir+:} false; then :
-    break
-  fi
-  done
-! if ${ac_cv_search_opendir+:} false; then :
-  
-  else
-    ac_cv_search_opendir=no
-***************
-*** 9625,9632 ****
-  do :
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-! eval as_val=\$$as_ac_Header
-!    if test "x$as_val" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
---- 9652,9658 ----
-  do :
-    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-  _ACEOF
-***************
-*** 9642,9648 ****
-  #  include <sys/stream.h>
-  #endif
-  "
-! if test "x$ac_cv_header_sys_ptem_h" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_SYS_PTEM_H 1
-  _ACEOF
---- 9668,9674 ----
-  #  include <sys/stream.h>
-  #endif
-  "
-! if test "x$ac_cv_header_sys_ptem_h" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_SYS_PTEM_H 1
-  _ACEOF
-***************
-*** 9658,9664 ****
-  #  include <sys/param.h>
-  #endif
-  "
-! if test "x$ac_cv_header_sys_sysctl_h" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_SYS_SYSCTL_H 1
-  _ACEOF
---- 9684,9690 ----
-  #  include <sys/param.h>
-  #endif
-  "
-! if test "x$ac_cv_header_sys_sysctl_h" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_SYS_SYSCTL_H 1
-  _ACEOF
-***************
-*** 9698,9704 ****
-  for ac_header in strings.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default"
-! if test "x$ac_cv_header_strings_h" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_STRINGS_H 1
-  _ACEOF
---- 9724,9730 ----
-  for ac_header in strings.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default"
-! if test "x$ac_cv_header_strings_h" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_STRINGS_H 1
-  _ACEOF
-***************
-*** 9757,9763 ****
-  if test $ac_cv_c_compiler_gnu = yes; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
-  $as_echo_n "checking whether $CC needs -traditional... " >&6; }
-! if test "${ac_cv_prog_gcc_traditional+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-      ac_pattern="Autoconf.*'x'"
---- 9783,9789 ----
-  if test $ac_cv_c_compiler_gnu = yes; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
-  $as_echo_n "checking whether $CC needs -traditional... " >&6; }
-! if ${ac_cv_prog_gcc_traditional+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-      ac_pattern="Autoconf.*'x'"
-***************
-*** 9798,9804 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-  $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-! if test "${ac_cv_c_const+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 9824,9830 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-  $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-! if ${ac_cv_c_const+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 9807,9817 ****
-  int
-  main ()
-  {
-! /* FIXME: Include the comments suggested by Paul. */
-  #ifndef __cplusplus
-!   /* Ultrix mips cc rejects this.  */
-    typedef int charset[2];
-!   const charset cs;
-    /* SunOS 4.1.1 cc rejects this.  */
-    char const *const *pcpcc;
-    char **ppc;
---- 9833,9843 ----
-  int
-  main ()
-  {
-! 
-  #ifndef __cplusplus
-!   /* Ultrix mips cc rejects this sort of thing.  */
-    typedef int charset[2];
-!   const charset cs = { 0, 0 };
-    /* SunOS 4.1.1 cc rejects this.  */
-    char const *const *pcpcc;
-    char **ppc;
-***************
-*** 9828,9835 ****
-    ++pcpcc;
-    ppc = (char**) pcpcc;
-    pcpcc = (char const *const *) ppc;
-!   { /* SCO 3.2v4 cc rejects this.  */
-!     char *t;
-      char const *s = 0 ? (char *) 0 : (char const *) 0;
-  
-      *t++ = 0;
---- 9854,9862 ----
-    ++pcpcc;
-    ppc = (char**) pcpcc;
-    pcpcc = (char const *const *) ppc;
-!   { /* SCO 3.2v4 cc rejects this sort of thing.  */
-!     char tx;
-!     char *t = &tx;
-      char const *s = 0 ? (char *) 0 : (char const *) 0;
-  
-      *t++ = 0;
-***************
-*** 9845,9854 ****
-      iptr p = 0;
-      ++p;
-    }
-!   { /* AIX XL C 1.02.0.0 rejects this saying
-         "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-!     struct s { int j; const int *ap[3]; };
-!     struct s *b; b->j = 5;
-    }
-    { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-      const int foo = 10;
---- 9872,9881 ----
-      iptr p = 0;
-      ++p;
-    }
-!   { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
-         "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-!     struct s { int j; const int *ap[3]; } bx;
-!     struct s *b = &bx; b->j = 5;
-    }
-    { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-      const int foo = 10;
-***************
-*** 9878,9884 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5
-  $as_echo_n "checking for working volatile... " >&6; }
-! if test "${ac_cv_c_volatile+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 9905,9911 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5
-  $as_echo_n "checking for working volatile... " >&6; }
-! if ${ac_cv_c_volatile+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 9911,9917 ****
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
-! if test "x$ac_cv_type_mode_t" = x""yes; then :
-  
-  else
-  
---- 9938,9944 ----
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
-! if test "x$ac_cv_type_mode_t" = xyes; then :
-  
-  else
-  
-***************
-*** 9922,9928 ****
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-! if test "x$ac_cv_type_off_t" = x""yes; then :
-  
-  else
-  
---- 9949,9955 ----
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-! if test "x$ac_cv_type_off_t" = xyes; then :
-  
-  else
-  
-***************
-*** 9933,9939 ****
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-! if test "x$ac_cv_type_pid_t" = x""yes; then :
-  
-  else
-  
---- 9960,9966 ----
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-! if test "x$ac_cv_type_pid_t" = xyes; then :
-  
-  else
-  
-***************
-*** 9944,9950 ****
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-! if test "x$ac_cv_type_size_t" = x""yes; then :
-  
-  else
-  
---- 9971,9977 ----
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-! if test "x$ac_cv_type_size_t" = xyes; then :
-  
-  else
-  
-***************
-*** 9956,9962 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-  $as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-! if test "${ac_cv_type_uid_t+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 9983,9989 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-  $as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-! if ${ac_cv_type_uid_t+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 10001,10007 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
-  $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-! if test "${ac_cv_header_time+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 10028,10034 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
-  $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-! if ${ac_cv_header_time+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 10035,10041 ****
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "ino_t" "ac_cv_type_ino_t" "$ac_includes_default"
-! if test "x$ac_cv_type_ino_t" = x""yes; then :
-  
-  else
-  
---- 10062,10068 ----
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "ino_t" "ac_cv_type_ino_t" "$ac_includes_default"
-! if test "x$ac_cv_type_ino_t" = xyes; then :
-  
-  else
-  
-***************
-*** 10046,10052 ****
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "dev_t" "ac_cv_type_dev_t" "$ac_includes_default"
-! if test "x$ac_cv_type_dev_t" = x""yes; then :
-  
-  else
-  
---- 10073,10079 ----
-  fi
-  
-  ac_fn_c_check_type "$LINENO" "dev_t" "ac_cv_type_dev_t" "$ac_includes_default"
-! if test "x$ac_cv_type_dev_t" = xyes; then :
-  
-  else
-  
-***************
-*** 10058,10064 ****
-  
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-  $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-! if test "${ac_cv_c_bigendian+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_cv_c_bigendian=unknown
---- 10085,10091 ----
-  
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-  $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-! if ${ac_cv_c_bigendian+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_cv_c_bigendian=unknown
-***************
-*** 10276,10282 ****
-  
-       ;; #(
-     *)
-!      as_fn_error "unknown endianness
-   presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
-   esac
-  
---- 10303,10309 ----
-  
-       ;; #(
-     *)
-!      as_fn_error $? "unknown endianness
-   presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
-   esac
-  
-***************
-*** 10412,10418 ****
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5
-  $as_echo "OK" >&6; }
-  else
-!   as_fn_error "FAILED" "$LINENO" 5
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
---- 10439,10445 ----
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5
-  $as_echo "OK" >&6; }
-  else
-!   as_fn_error $? "FAILED" "$LINENO" 5
-  fi
-  rm -f core conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-***************
-*** 10428,10434 ****
-      as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l${libname}" >&5
-  $as_echo_n "checking for tgetent in -l${libname}... " >&6; }
-! if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 10455,10461 ----
-      as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l${libname}" >&5
-  $as_echo_n "checking for tgetent in -l${libname}... " >&6; }
-! if eval \${$as_ac_Lib+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 10463,10470 ****
-  eval ac_res=\$$as_ac_Lib
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-! eval as_val=\$$as_ac_Lib
-!    if test "x$as_val" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
-  _ACEOF
---- 10490,10496 ----
-  eval ac_res=\$$as_ac_Lib
-  	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-  $as_echo "$ac_res" >&6; }
-! if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
-  _ACEOF
-***************
-*** 10530,10536 ****
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-  $as_echo "yes" >&6; }
-  else
-!   as_fn_error "NOT FOUND!
-        You need to install a terminal library; for example ncurses.
-        Or specify the name of the library with --with-tlib." "$LINENO" 5
-  fi
---- 10556,10562 ----
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-  $as_echo "yes" >&6; }
-  else
-!   as_fn_error $? "NOT FOUND!
-        You need to install a terminal library; for example ncurses.
-        Or specify the name of the library with --with-tlib." "$LINENO" 5
-  fi
-***************
-*** 10540,10552 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we talk terminfo" >&5
-  $as_echo_n "checking whether we talk terminfo... " >&6; }
-! if test "${vim_cv_terminfo+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error "cross-compiling: please set 'vim_cv_terminfo'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 10566,10578 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we talk terminfo" >&5
-  $as_echo_n "checking whether we talk terminfo... " >&6; }
-! if ${vim_cv_terminfo+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error $? "cross-compiling: please set 'vim_cv_terminfo'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 10593,10605 ****
-  if test "x$olibs" != "x$LIBS"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking what tgetent() returns for an unknown terminal" >&5
-  $as_echo_n "checking what tgetent() returns for an unknown terminal... " >&6; }
-! if test "${vim_cv_tgent+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-        if test "$cross_compiling" = yes; then :
-  
-! 	as_fn_error "failed to compile test program." "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 10619,10631 ----
-  if test "x$olibs" != "x$LIBS"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking what tgetent() returns for an unknown terminal" >&5
-  $as_echo_n "checking what tgetent() returns for an unknown terminal... " >&6; }
-! if ${vim_cv_tgent+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-        if test "$cross_compiling" = yes; then :
-  
-! 	as_fn_error $? "failed to compile test program." "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 10894,10906 ****
-  rm -f conftest_grp
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
-  $as_echo_n "checking default tty permissions/group... " >&6; }
-! if test "${vim_cv_tty_group+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error "cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 10920,10932 ----
-  rm -f conftest_grp
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
-  $as_echo_n "checking default tty permissions/group... " >&6; }
-! if ${vim_cv_tty_group+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error $? "cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 10981,10987 ****
-  _ACEOF
-  
-    if test "x$vim_cv_tty_mode" = "x" ; then
-!     as_fn_error "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
-    else
-      $as_echo "#define PTYMODE 0620" >>confdefs.h
-  
---- 11007,11013 ----
-  _ACEOF
-  
-    if test "x$vim_cv_tty_mode" = "x" ; then
-!     as_fn_error $? "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
-    else
-      $as_echo "#define PTYMODE 0620" >>confdefs.h
-  
-***************
-*** 10991,10997 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-  $as_echo_n "checking return type of signal handlers... " >&6; }
-! if test "${ac_cv_type_signal+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 11017,11023 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-  $as_echo_n "checking return type of signal handlers... " >&6; }
-! if ${ac_cv_type_signal+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 11064,11076 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking getcwd implementation is broken" >&5
-  $as_echo_n "checking getcwd implementation is broken... " >&6; }
-! if test "${vim_cv_getcwd_broken+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error "cross-compiling: please set 'vim_cv_getcwd_broken'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 11090,11102 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking getcwd implementation is broken" >&5
-  $as_echo_n "checking getcwd implementation is broken... " >&6; }
-! if ${vim_cv_getcwd_broken+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error $? "cross-compiling: please set 'vim_cv_getcwd_broken'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 11123,11130 ****
-  do :
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-! eval as_val=\$$as_ac_var
-!    if test "x$as_val" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-  _ACEOF
---- 11149,11155 ----
-  do :
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-! if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-    cat >>confdefs.h <<_ACEOF
-  #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-  _ACEOF
-***************
-*** 11134,11140 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
-  $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
-! if test "${ac_cv_sys_largefile_source+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    while :; do
---- 11159,11165 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
-  $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
-! if ${ac_cv_sys_largefile_source+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    while :; do
-***************
-*** 11210,11216 ****
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-  $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-! if test "${ac_cv_sys_largefile_CC+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_cv_sys_largefile_CC=no
---- 11235,11241 ----
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-  $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-! if ${ac_cv_sys_largefile_CC+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_cv_sys_largefile_CC=no
-***************
-*** 11261,11267 ****
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-  $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-! if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    while :; do
---- 11286,11292 ----
-  
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-  $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-! if ${ac_cv_sys_file_offset_bits+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    while :; do
-***************
-*** 11330,11336 ****
-    if test $ac_cv_sys_file_offset_bits = unknown; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-  $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-! if test "${ac_cv_sys_large_files+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    while :; do
---- 11355,11361 ----
-    if test $ac_cv_sys_file_offset_bits = unknown; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-  $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-! if ${ac_cv_sys_large_files+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    while :; do
-***************
-*** 11397,11402 ****
---- 11422,11429 ----
-  esac
-  rm -rf conftest*
-    fi
-+ 
-+ 
-  fi
-  
-  
-***************
-*** 11430,11442 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5
-  $as_echo_n "checking whether stat() ignores a trailing slash... " >&6; }
-! if test "${vim_cv_stat_ignores_slash+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error "cross-compiling: please set 'vim_cv_stat_ignores_slash'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 11457,11469 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5
-  $as_echo_n "checking whether stat() ignores a trailing slash... " >&6; }
-! if ${vim_cv_stat_ignores_slash+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-!       as_fn_error $? "cross-compiling: please set 'vim_cv_stat_ignores_slash'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 11560,11566 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtod in -lm" >&5
-  $as_echo_n "checking for strtod in -lm... " >&6; }
-! if test "${ac_cv_lib_m_strtod+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 11587,11593 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtod in -lm" >&5
-  $as_echo_n "checking for strtod in -lm... " >&6; }
-! if ${ac_cv_lib_m_strtod+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 11594,11600 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_strtod" >&5
-  $as_echo "$ac_cv_lib_m_strtod" >&6; }
-! if test "x$ac_cv_lib_m_strtod" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBM 1
-  _ACEOF
---- 11621,11627 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_strtod" >&5
-  $as_echo "$ac_cv_lib_m_strtod" >&6; }
-! if test "x$ac_cv_lib_m_strtod" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_LIBM 1
-  _ACEOF
-***************
-*** 11660,11666 ****
-  $as_echo "no" >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lposix1e" >&5
-  $as_echo_n "checking for acl_get_file in -lposix1e... " >&6; }
-! if test "${ac_cv_lib_posix1e_acl_get_file+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 11687,11693 ----
-  $as_echo "no" >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lposix1e" >&5
-  $as_echo_n "checking for acl_get_file in -lposix1e... " >&6; }
-! if ${ac_cv_lib_posix1e_acl_get_file+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 11694,11705 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix1e_acl_get_file" >&5
-  $as_echo "$ac_cv_lib_posix1e_acl_get_file" >&6; }
-! if test "x$ac_cv_lib_posix1e_acl_get_file" = x""yes; then :
-    LIBS="$LIBS -lposix1e"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lacl" >&5
-  $as_echo_n "checking for acl_get_file in -lacl... " >&6; }
-! if test "${ac_cv_lib_acl_acl_get_file+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 11721,11732 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix1e_acl_get_file" >&5
-  $as_echo "$ac_cv_lib_posix1e_acl_get_file" >&6; }
-! if test "x$ac_cv_lib_posix1e_acl_get_file" = xyes; then :
-    LIBS="$LIBS -lposix1e"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lacl" >&5
-  $as_echo_n "checking for acl_get_file in -lacl... " >&6; }
-! if ${ac_cv_lib_acl_acl_get_file+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 11733,11743 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_acl_get_file" >&5
-  $as_echo "$ac_cv_lib_acl_acl_get_file" >&6; }
-! if test "x$ac_cv_lib_acl_acl_get_file" = x""yes; then :
-    LIBS="$LIBS -lacl"
-  		  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
-  $as_echo_n "checking for fgetxattr in -lattr... " >&6; }
-! if test "${ac_cv_lib_attr_fgetxattr+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 11760,11770 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_acl_get_file" >&5
-  $as_echo "$ac_cv_lib_acl_acl_get_file" >&6; }
-! if test "x$ac_cv_lib_acl_acl_get_file" = xyes; then :
-    LIBS="$LIBS -lacl"
-  		  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
-  $as_echo_n "checking for fgetxattr in -lattr... " >&6; }
-! if ${ac_cv_lib_attr_fgetxattr+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 11771,11777 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
-  $as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
-! if test "x$ac_cv_lib_attr_fgetxattr" = x""yes; then :
-    LIBS="$LIBS -lattr"
-  fi
-  
---- 11798,11804 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
-  $as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
-! if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then :
-    LIBS="$LIBS -lattr"
-  fi
-  
-***************
-*** 11813,11819 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5
-  $as_echo_n "checking for acl_get in -lsec... " >&6; }
-! if test "${ac_cv_lib_sec_acl_get+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 11840,11846 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5
-  $as_echo_n "checking for acl_get in -lsec... " >&6; }
-! if ${ac_cv_lib_sec_acl_get+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 11847,11853 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5
-  $as_echo "$ac_cv_lib_sec_acl_get" >&6; }
-! if test "x$ac_cv_lib_sec_acl_get" = x""yes; then :
-    LIBS="$LIBS -lsec"; $as_echo "#define HAVE_SOLARIS_ZFS_ACL 1" >>confdefs.h
-  
-  else
---- 11874,11880 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5
-  $as_echo "$ac_cv_lib_sec_acl_get" >&6; }
-! if test "x$ac_cv_lib_sec_acl_get" = xyes; then :
-    LIBS="$LIBS -lsec"; $as_echo "#define HAVE_SOLARIS_ZFS_ACL 1" >>confdefs.h
-  
-  else
-***************
-*** 11943,11949 ****
-  $as_echo "no" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpm" >&5
-  $as_echo_n "checking for gpm... " >&6; }
-! if test "${vi_cv_have_gpm+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    olibs="$LIBS" ; LIBS="-lgpm"
---- 11970,11976 ----
-  $as_echo "no" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpm" >&5
-  $as_echo_n "checking for gpm... " >&6; }
-! if ${vi_cv_have_gpm+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    olibs="$LIBS" ; LIBS="-lgpm"
-***************
-*** 11996,12002 ****
-  $as_echo "no" >&6; }
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysmouse" >&5
-  $as_echo_n "checking for sysmouse... " >&6; }
-! if test "${vi_cv_have_sysmouse+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 12023,12029 ----
-  $as_echo "no" >&6; }
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysmouse" >&5
-  $as_echo_n "checking for sysmouse... " >&6; }
-! if ${vi_cv_have_sysmouse+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 12202,12208 ****
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
-  $as_echo_n "checking size of int... " >&6; }
-! if test "${ac_cv_sizeof_int+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
---- 12229,12235 ----
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
-  $as_echo_n "checking size of int... " >&6; }
-! if ${ac_cv_sizeof_int+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
-***************
-*** 12211,12219 ****
-    if test "$ac_cv_type_int" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! { as_fn_set_status 77
-! as_fn_error "cannot compute sizeof (int)
-! See \`config.log' for more details." "$LINENO" 5; }; }
-     else
-       ac_cv_sizeof_int=0
-     fi
---- 12238,12245 ----
-    if test "$ac_cv_type_int" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error 77 "cannot compute sizeof (int)
-! See \`config.log' for more details" "$LINENO" 5; }
-     else
-       ac_cv_sizeof_int=0
-     fi
-***************
-*** 12236,12242 ****
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
-  $as_echo_n "checking size of long... " >&6; }
-! if test "${ac_cv_sizeof_long+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
---- 12262,12268 ----
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
-  $as_echo_n "checking size of long... " >&6; }
-! if ${ac_cv_sizeof_long+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
-***************
-*** 12245,12253 ****
-    if test "$ac_cv_type_long" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! { as_fn_set_status 77
-! as_fn_error "cannot compute sizeof (long)
-! See \`config.log' for more details." "$LINENO" 5; }; }
-     else
-       ac_cv_sizeof_long=0
-     fi
---- 12271,12278 ----
-    if test "$ac_cv_type_long" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error 77 "cannot compute sizeof (long)
-! See \`config.log' for more details" "$LINENO" 5; }
-     else
-       ac_cv_sizeof_long=0
-     fi
-***************
-*** 12270,12276 ****
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
-  $as_echo_n "checking size of time_t... " >&6; }
-! if test "${ac_cv_sizeof_time_t+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t"        "$ac_includes_default"; then :
---- 12295,12301 ----
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
-  $as_echo_n "checking size of time_t... " >&6; }
-! if ${ac_cv_sizeof_time_t+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t"        "$ac_includes_default"; then :
-***************
-*** 12279,12287 ****
-    if test "$ac_cv_type_time_t" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! { as_fn_set_status 77
-! as_fn_error "cannot compute sizeof (time_t)
-! See \`config.log' for more details." "$LINENO" 5; }; }
-     else
-       ac_cv_sizeof_time_t=0
-     fi
---- 12304,12311 ----
-    if test "$ac_cv_type_time_t" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error 77 "cannot compute sizeof (time_t)
-! See \`config.log' for more details" "$LINENO" 5; }
-     else
-       ac_cv_sizeof_time_t=0
-     fi
-***************
-*** 12304,12310 ****
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
-  $as_echo_n "checking size of off_t... " >&6; }
-! if test "${ac_cv_sizeof_off_t+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "$ac_includes_default"; then :
---- 12328,12334 ----
-  # This bug is HP SR number 8606223364.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
-  $as_echo_n "checking size of off_t... " >&6; }
-! if ${ac_cv_sizeof_off_t+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "$ac_includes_default"; then :
-***************
-*** 12313,12321 ****
-    if test "$ac_cv_type_off_t" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! { as_fn_set_status 77
-! as_fn_error "cannot compute sizeof (off_t)
-! See \`config.log' for more details." "$LINENO" 5; }; }
-     else
-       ac_cv_sizeof_off_t=0
-     fi
---- 12337,12344 ----
-    if test "$ac_cv_type_off_t" = yes; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-! as_fn_error 77 "cannot compute sizeof (off_t)
-! See \`config.log' for more details" "$LINENO" 5; }
-     else
-       ac_cv_sizeof_off_t=0
-     fi
-***************
-*** 12368,12374 ****
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-  $as_echo "ok" >&6; }
-  else
-!   as_fn_error "WRONG!  uint32_t not defined correctly." "$LINENO" 5
-  fi
-  rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-    conftest.$ac_objext conftest.beam conftest.$ac_ext
---- 12391,12397 ----
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-  $as_echo "ok" >&6; }
-  else
-!   as_fn_error $? "WRONG!  uint32_t not defined correctly." "$LINENO" 5
-  fi
-  rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-    conftest.$ac_objext conftest.beam conftest.$ac_ext
-***************
-*** 12400,12412 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmove handles overlaps" >&5
-  $as_echo_n "checking whether memmove handles overlaps... " >&6; }
-! if test "${vim_cv_memmove_handles_overlap+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-! 	as_fn_error "cross-compiling: please set 'vim_cv_memmove_handles_overlap'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 12423,12435 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmove handles overlaps" >&5
-  $as_echo_n "checking whether memmove handles overlaps... " >&6; }
-! if ${vim_cv_memmove_handles_overlap+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-      if test "$cross_compiling" = yes; then :
-  
-! 	as_fn_error $? "cross-compiling: please set 'vim_cv_memmove_handles_overlap'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 12437,12449 ****
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bcopy handles overlaps" >&5
-  $as_echo_n "checking whether bcopy handles overlaps... " >&6; }
-! if test "${vim_cv_bcopy_handles_overlap+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-        if test "$cross_compiling" = yes; then :
-  
-! 	as_fn_error "cross-compiling: please set 'vim_cv_bcopy_handles_overlap'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 12460,12472 ----
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bcopy handles overlaps" >&5
-  $as_echo_n "checking whether bcopy handles overlaps... " >&6; }
-! if ${vim_cv_bcopy_handles_overlap+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-        if test "$cross_compiling" = yes; then :
-  
-! 	as_fn_error $? "cross-compiling: please set 'vim_cv_bcopy_handles_overlap'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 12474,12486 ****
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memcpy handles overlaps" >&5
-  $as_echo_n "checking whether memcpy handles overlaps... " >&6; }
-! if test "${vim_cv_memcpy_handles_overlap+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-  	if test "$cross_compiling" = yes; then :
-  
-! 	    as_fn_error "cross-compiling: please set 'vim_cv_memcpy_handles_overlap'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 12497,12509 ----
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memcpy handles overlaps" >&5
-  $as_echo_n "checking whether memcpy handles overlaps... " >&6; }
-! if ${vim_cv_memcpy_handles_overlap+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-  
-  	if test "$cross_compiling" = yes; then :
-  
-! 	    as_fn_error $? "cross-compiling: please set 'vim_cv_memcpy_handles_overlap'" "$LINENO" 5
-  
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 12575,12581 ****
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _xpg4_setrunelocale in -lxpg4" >&5
-  $as_echo_n "checking for _xpg4_setrunelocale in -lxpg4... " >&6; }
-! if test "${ac_cv_lib_xpg4__xpg4_setrunelocale+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
---- 12598,12604 ----
-  
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _xpg4_setrunelocale in -lxpg4" >&5
-  $as_echo_n "checking for _xpg4_setrunelocale in -lxpg4... " >&6; }
-! if ${ac_cv_lib_xpg4__xpg4_setrunelocale+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    ac_check_lib_save_LIBS=$LIBS
-***************
-*** 12609,12615 ****
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
-  $as_echo "$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6; }
-! if test "x$ac_cv_lib_xpg4__xpg4_setrunelocale" = x""yes; then :
-    LIBS="$LIBS -lxpg4"
-  fi
-  
---- 12632,12638 ----
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
-  $as_echo "$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6; }
-! if test "x$ac_cv_lib_xpg4__xpg4_setrunelocale" = xyes; then :
-    LIBS="$LIBS -lxpg4"
-  fi
-  
-***************
-*** 12671,12677 ****
-  set dummy msgfmt; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if test "${ac_cv_prog_MSGFMT+set}" = set; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$MSGFMT"; then
---- 12694,12700 ----
-  set dummy msgfmt; ac_word=$2
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-  $as_echo_n "checking for $ac_word... " >&6; }
-! if ${ac_cv_prog_MSGFMT+:} false; then :
-    $as_echo_n "(cached) " >&6
-  else
-    if test -n "$MSGFMT"; then
-***************
-*** 12683,12689 ****
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-      ac_cv_prog_MSGFMT="msgfmt"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
---- 12706,12712 ----
-    IFS=$as_save_IFS
-    test -z "$as_dir" && as_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-!   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-      ac_cv_prog_MSGFMT="msgfmt"
-      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-      break 2
-***************
-*** 12764,12770 ****
-              for ac_func in bind_textdomain_codeset
-  do :
-    ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
-! if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_BIND_TEXTDOMAIN_CODESET 1
-  _ACEOF
---- 12787,12793 ----
-              for ac_func in bind_textdomain_codeset
-  do :
-    ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
-! if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_BIND_TEXTDOMAIN_CODESET 1
-  _ACEOF
-***************
-*** 12807,12817 ****
-  fi
-  
-  ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
-! if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
-    DLL=dlfcn.h
-  else
-    ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default"
-! if test "x$ac_cv_header_dl_h" = x""yes; then :
-    DLL=dl.h
-  fi
-  
---- 12830,12840 ----
-  fi
-  
-  ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
-! if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-    DLL=dlfcn.h
-  else
-    ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default"
-! if test "x$ac_cv_header_dl_h" = xyes; then :
-    DLL=dl.h
-  fi
-  
-***************
-*** 13008,13014 ****
-  for ac_header in setjmp.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default"
-! if test "x$ac_cv_header_setjmp_h" = x""yes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_SETJMP_H 1
-  _ACEOF
---- 13031,13037 ----
-  for ac_header in setjmp.h
-  do :
-    ac_fn_c_check_header_mongrel "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default"
-! if test "x$ac_cv_header_setjmp_h" = xyes; then :
-    cat >>confdefs.h <<_ACEOF
-  #define HAVE_SETJMP_H 1
-  _ACEOF
-***************
-*** 13159,13168 ****
-       :end' >>confcache
-  if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-    if test -w "$cache_file"; then
-!     test "x$cache_file" != "x/dev/null" &&
-        { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-  $as_echo "$as_me: updating cache $cache_file" >&6;}
-!     cat confcache >$cache_file
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-  $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
---- 13182,13202 ----
-       :end' >>confcache
-  if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-    if test -w "$cache_file"; then
-!     if test "x$cache_file" != "x/dev/null"; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-  $as_echo "$as_me: updating cache $cache_file" >&6;}
-!       if test ! -f "$cache_file" || test -h "$cache_file"; then
-! 	cat confcache >"$cache_file"
-!       else
-!         case $cache_file in #(
-!         */* | ?:*)
-! 	  mv -f confcache "$cache_file"$$ &&
-! 	  mv -f "$cache_file"$$ "$cache_file" ;; #(
-!         *)
-! 	  mv -f confcache "$cache_file" ;;
-! 	esac
-!       fi
-!     fi
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-  $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-***************
-*** 13178,13183 ****
---- 13212,13218 ----
-  
-  ac_libobjs=
-  ac_ltlibobjs=
-+ U=
-  for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-    # 1. Remove the extension, and $U if already installed.
-    ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-***************
-*** 13194,13200 ****
-  
-  
-  
-! : ${CONFIG_STATUS=./config.status}
-  ac_write_fail=0
-  ac_clean_files_save=$ac_clean_files
-  ac_clean_files="$ac_clean_files $CONFIG_STATUS"
---- 13229,13235 ----
-  
-  
-  
-! : "${CONFIG_STATUS=./config.status}"
-  ac_write_fail=0
-  ac_clean_files_save=$ac_clean_files
-  ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-***************
-*** 13295,13300 ****
---- 13330,13336 ----
-  IFS=" ""	$as_nl"
-  
-  # Find who we are.  Look in the path if we contain no directory separator.
-+ as_myself=
-  case $0 in #((
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-***************
-*** 13340,13358 ****
-  (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-  
-  
-! # as_fn_error ERROR [LINENO LOG_FD]
-! # ---------------------------------
-  # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-  # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-! # script with status $?, using 1 if that was 0.
-  as_fn_error ()
-  {
-!   as_status=$?; test $as_status -eq 0 && as_status=1
-!   if test "$3"; then
-!     as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-!     $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-    fi
-!   $as_echo "$as_me: error: $1" >&2
-    as_fn_exit $as_status
-  } # as_fn_error
-  
---- 13376,13394 ----
-  (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-  
-  
-! # as_fn_error STATUS ERROR [LINENO LOG_FD]
-! # ----------------------------------------
-  # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-  # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-! # script with STATUS, using 1 if that was 0.
-  as_fn_error ()
-  {
-!   as_status=$1; test $as_status -eq 0 && as_status=1
-!   if test "$4"; then
-!     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-!     $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-    fi
-!   $as_echo "$as_me: error: $2" >&2
-    as_fn_exit $as_status
-  } # as_fn_error
-  
-***************
-*** 13490,13505 ****
-      # ... but there are two gotchas:
-      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-!     # In both cases, we have to default to `cp -p'.
-      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-!       as_ln_s='cp -p'
-    elif ln conf$$.file conf$$ 2>/dev/null; then
-      as_ln_s=ln
-    else
-!     as_ln_s='cp -p'
-    fi
-  else
-!   as_ln_s='cp -p'
-  fi
-  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-  rmdir conf$$.dir 2>/dev/null
---- 13526,13541 ----
-      # ... but there are two gotchas:
-      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-!     # In both cases, we have to default to `cp -pR'.
-      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-!       as_ln_s='cp -pR'
-    elif ln conf$$.file conf$$ 2>/dev/null; then
-      as_ln_s=ln
-    else
-!     as_ln_s='cp -pR'
-    fi
-  else
-!   as_ln_s='cp -pR'
-  fi
-  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-  rmdir conf$$.dir 2>/dev/null
-***************
-*** 13548,13554 ****
-        test -d "$as_dir" && break
-      done
-      test -z "$as_dirs" || eval "mkdir $as_dirs"
-!   } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-  
-  
-  } # as_fn_mkdir_p
---- 13584,13590 ----
-        test -d "$as_dir" && break
-      done
-      test -z "$as_dirs" || eval "mkdir $as_dirs"
-!   } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-  
-  
-  } # as_fn_mkdir_p
-***************
-*** 13559,13586 ****
-    as_mkdir_p=false
-  fi
-  
-! if test -x / >/dev/null 2>&1; then
-!   as_test_x='test -x'
-! else
-!   if ls -dL / >/dev/null 2>&1; then
-!     as_ls_L_option=L
-!   else
-!     as_ls_L_option=
-!   fi
-!   as_test_x='
-!     eval sh -c '\''
-!       if test -d "$1"; then
-! 	test -d "$1/.";
-!       else
-! 	case $1 in #(
-! 	-*)set "./$1";;
-! 	esac;
-! 	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-! 	???[sx]*):;;*)false;;esac;fi
-!     '\'' sh
-!   '
-! fi
-! as_executable_p=$as_test_x
-  
-  # Sed expression to map a string onto a valid CPP name.
-  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
---- 13595,13610 ----
-    as_mkdir_p=false
-  fi
-  
-! 
-! # as_fn_executable_p FILE
-! # -----------------------
-! # Test if FILE is an executable regular file.
-! as_fn_executable_p ()
-! {
-!   test -f "$1" && test -x "$1"
-! } # as_fn_executable_p
-! as_test_x='test -x'
-! as_executable_p=as_fn_executable_p
-  
-  # Sed expression to map a string onto a valid CPP name.
-  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-***************
-*** 13602,13608 ****
-  # values after options handling.
-  ac_log="
-  This file was extended by $as_me, which was
-! generated by GNU Autoconf 2.65.  Invocation command line was
-  
-    CONFIG_FILES    = $CONFIG_FILES
-    CONFIG_HEADERS  = $CONFIG_HEADERS
---- 13626,13632 ----
-  # values after options handling.
-  ac_log="
-  This file was extended by $as_me, which was
-! generated by GNU Autoconf 2.69.  Invocation command line was
-  
-    CONFIG_FILES    = $CONFIG_FILES
-    CONFIG_HEADERS  = $CONFIG_HEADERS
-***************
-*** 13664,13673 ****
-  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-  ac_cs_version="\\
-  config.status
-! configured by $0, generated by GNU Autoconf 2.65,
-    with options \\"\$ac_cs_config\\"
-  
-! Copyright (C) 2009 Free Software Foundation, Inc.
-  This config.status script is free software; the Free Software Foundation
-  gives unlimited permission to copy, distribute and modify it."
-  
---- 13688,13697 ----
-  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-  ac_cs_version="\\
-  config.status
-! configured by $0, generated by GNU Autoconf 2.69,
-    with options \\"\$ac_cs_config\\"
-  
-! Copyright (C) 2012 Free Software Foundation, Inc.
-  This config.status script is free software; the Free Software Foundation
-  gives unlimited permission to copy, distribute and modify it."
-  
-***************
-*** 13683,13693 ****
-  while test $# != 0
-  do
-    case $1 in
-!   --*=*)
-      ac_option=`expr "X$1" : 'X\([^=]*\)='`
-      ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-      ac_shift=:
-      ;;
-    *)
-      ac_option=$1
-      ac_optarg=$2
---- 13707,13722 ----
-  while test $# != 0
-  do
-    case $1 in
-!   --*=?*)
-      ac_option=`expr "X$1" : 'X\([^=]*\)='`
-      ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-      ac_shift=:
-      ;;
-+   --*=)
-+     ac_option=`expr "X$1" : 'X\([^=]*\)='`
-+     ac_optarg=
-+     ac_shift=:
-+     ;;
-    *)
-      ac_option=$1
-      ac_optarg=$2
-***************
-*** 13709,13714 ****
---- 13738,13744 ----
-      $ac_shift
-      case $ac_optarg in
-      *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-+     '') as_fn_error $? "missing file argument" ;;
-      esac
-      as_fn_append CONFIG_FILES " '$ac_optarg'"
-      ac_need_defaults=false;;
-***************
-*** 13721,13727 ****
-      ac_need_defaults=false;;
-    --he | --h)
-      # Conflict between --help and --header
-!     as_fn_error "ambiguous option: \`$1'
-  Try \`$0 --help' for more information.";;
-    --help | --hel | -h )
-      $as_echo "$ac_cs_usage"; exit ;;
---- 13751,13757 ----
-      ac_need_defaults=false;;
-    --he | --h)
-      # Conflict between --help and --header
-!     as_fn_error $? "ambiguous option: \`$1'
-  Try \`$0 --help' for more information.";;
-    --help | --hel | -h )
-      $as_echo "$ac_cs_usage"; exit ;;
-***************
-*** 13730,13736 ****
-      ac_cs_silent=: ;;
-  
-    # This is an error.
-!   -*) as_fn_error "unrecognized option: \`$1'
-  Try \`$0 --help' for more information." ;;
-  
-    *) as_fn_append ac_config_targets " $1"
---- 13760,13766 ----
-      ac_cs_silent=: ;;
-  
-    # This is an error.
-!   -*) as_fn_error $? "unrecognized option: \`$1'
-  Try \`$0 --help' for more information." ;;
-  
-    *) as_fn_append ac_config_targets " $1"
-***************
-*** 13750,13756 ****
-  _ACEOF
-  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  if \$ac_cs_recheck; then
-!   set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-    shift
-    \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-    CONFIG_SHELL='$SHELL'
---- 13780,13786 ----
-  _ACEOF
-  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  if \$ac_cs_recheck; then
-!   set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-    shift
-    \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-    CONFIG_SHELL='$SHELL'
-***************
-*** 13782,13788 ****
-      "auto/config.h") CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
-      "auto/config.mk") CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
-  
-!   *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-    esac
-  done
-  
---- 13812,13818 ----
-      "auto/config.h") CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
-      "auto/config.mk") CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
-  
-!   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-    esac
-  done
-  
-***************
-*** 13804,13812 ****
-  # after its creation but before its name has been assigned to `$tmp'.
-  $debug ||
-  {
-!   tmp=
-    trap 'exit_status=$?
-!   { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-  ' 0
-    trap 'as_fn_exit 1' 1 2 13 15
-  }
---- 13834,13843 ----
-  # after its creation but before its name has been assigned to `$tmp'.
-  $debug ||
-  {
-!   tmp= ac_tmp=
-    trap 'exit_status=$?
-!   : "${ac_tmp:=$tmp}"
-!   { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-  ' 0
-    trap 'as_fn_exit 1' 1 2 13 15
-  }
-***************
-*** 13814,13825 ****
-  
-  {
-    tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-!   test -n "$tmp" && test -d "$tmp"
-  }  ||
-  {
-    tmp=./conf$$-$RANDOM
-    (umask 077 && mkdir "$tmp")
-! } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
-  
-  # Set up the scripts for CONFIG_FILES section.
-  # No need to generate them if there are no CONFIG_FILES.
---- 13845,13857 ----
-  
-  {
-    tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-!   test -d "$tmp"
-  }  ||
-  {
-    tmp=./conf$$-$RANDOM
-    (umask 077 && mkdir "$tmp")
-! } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-! ac_tmp=$tmp
-  
-  # Set up the scripts for CONFIG_FILES section.
-  # No need to generate them if there are no CONFIG_FILES.
-***************
-*** 13836,13847 ****
-  fi
-  ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-  if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-!   ac_cs_awk_cr='\r'
-  else
-    ac_cs_awk_cr=$ac_cr
-  fi
-  
-! echo 'BEGIN {' >"$tmp/subs1.awk" &&
-  _ACEOF
-  
-  
---- 13868,13879 ----
-  fi
-  ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-  if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-!   ac_cs_awk_cr='\\r'
-  else
-    ac_cs_awk_cr=$ac_cr
-  fi
-  
-! echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-  _ACEOF
-  
-  
-***************
-*** 13850,13867 ****
-    echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-    echo "_ACEOF"
-  } >conf$$subs.sh ||
-!   as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-! ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
-  ac_delim='%!_!# '
-  for ac_last_try in false false false false false :; do
-    . ./conf$$subs.sh ||
-!     as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-  
-    ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-    if test $ac_delim_n = $ac_delim_num; then
-      break
-    elif $ac_last_try; then
-!     as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-    else
-      ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-    fi
---- 13882,13899 ----
-    echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-    echo "_ACEOF"
-  } >conf$$subs.sh ||
-!   as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-! ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-  ac_delim='%!_!# '
-  for ac_last_try in false false false false false :; do
-    . ./conf$$subs.sh ||
-!     as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  
-    ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-    if test $ac_delim_n = $ac_delim_num; then
-      break
-    elif $ac_last_try; then
-!     as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-    else
-      ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-    fi
-***************
-*** 13869,13875 ****
-  rm -f conf$$subs.sh
-  
-  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-! cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
-  _ACEOF
-  sed -n '
-  h
---- 13901,13907 ----
-  rm -f conf$$subs.sh
-  
-  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-! cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-  _ACEOF
-  sed -n '
-  h
-***************
-*** 13917,13923 ****
-  rm -f conf$$subs.awk
-  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  _ACAWK
-! cat >>"\$tmp/subs1.awk" <<_ACAWK &&
-    for (key in S) S_is_set[key] = 1
-    FS = ""
-  
---- 13949,13955 ----
-  rm -f conf$$subs.awk
-  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  _ACAWK
-! cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-    for (key in S) S_is_set[key] = 1
-    FS = ""
-  
-***************
-*** 13949,13969 ****
-    sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-  else
-    cat
-! fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-!   || as_fn_error "could not setup config files machinery" "$LINENO" 5
-  _ACEOF
-  
-! # VPATH may cause trouble with some makes, so we remove $(srcdir),
-! # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-  # trailing colons and then remove the whole line if VPATH becomes empty
-  # (actually we leave an empty line to preserve line numbers).
-  if test "x$srcdir" = x.; then
-!   ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-! s/:*\$(srcdir):*/:/
-! s/:*\${srcdir}:*/:/
-! s/:*@srcdir@:*/:/
-! s/^\([^=]*=[	 ]*\):*/\1/
-  s/:*$//
-  s/^[^=]*=[	 ]*$//
-  }'
-  fi
---- 13981,14009 ----
-    sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-  else
-    cat
-! fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-!   || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-  _ACEOF
-  
-! # VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-! # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-  # trailing colons and then remove the whole line if VPATH becomes empty
-  # (actually we leave an empty line to preserve line numbers).
-  if test "x$srcdir" = x.; then
-!   ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
-! h
-! s///
-! s/^/:/
-! s/[	 ]*$/:/
-! s/:\$(srcdir):/:/g
-! s/:\${srcdir}:/:/g
-! s/:@srcdir@:/:/g
-! s/^:*//
-  s/:*$//
-+ x
-+ s/\(=[	 ]*\).*/\1/
-+ G
-+ s/\n//
-  s/^[^=]*=[	 ]*$//
-  }'
-  fi
-***************
-*** 13975,13981 ****
-  # No need to generate them if there are no CONFIG_HEADERS.
-  # This happens for instance with `./config.status Makefile'.
-  if test -n "$CONFIG_HEADERS"; then
-! cat >"$tmp/defines.awk" <<\_ACAWK ||
-  BEGIN {
-  _ACEOF
-  
---- 14015,14021 ----
-  # No need to generate them if there are no CONFIG_HEADERS.
-  # This happens for instance with `./config.status Makefile'.
-  if test -n "$CONFIG_HEADERS"; then
-! cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-  BEGIN {
-  _ACEOF
-  
-***************
-*** 13987,13997 ****
-  # handling of long lines.
-  ac_delim='%!_!# '
-  for ac_last_try in false false :; do
-!   ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-!   if test -z "$ac_t"; then
-      break
-    elif $ac_last_try; then
-!     as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
-    else
-      ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-    fi
---- 14027,14037 ----
-  # handling of long lines.
-  ac_delim='%!_!# '
-  for ac_last_try in false false :; do
-!   ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-!   if test -z "$ac_tt"; then
-      break
-    elif $ac_last_try; then
-!     as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-    else
-      ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-    fi
-***************
-*** 14076,14082 ****
-  _ACAWK
-  _ACEOF
-  cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-!   as_fn_error "could not setup config headers machinery" "$LINENO" 5
-  fi # test -n "$CONFIG_HEADERS"
-  
-  
---- 14116,14122 ----
-  _ACAWK
-  _ACEOF
-  cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-!   as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-  fi # test -n "$CONFIG_HEADERS"
-  
-  
-***************
-*** 14089,14095 ****
-    esac
-    case $ac_mode$ac_tag in
-    :[FHL]*:*);;
-!   :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
-    :[FH]-) ac_tag=-:-;;
-    :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-    esac
---- 14129,14135 ----
-    esac
-    case $ac_mode$ac_tag in
-    :[FHL]*:*);;
-!   :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-    :[FH]-) ac_tag=-:-;;
-    :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-    esac
-***************
-*** 14108,14114 ****
-      for ac_f
-      do
-        case $ac_f in
-!       -) ac_f="$tmp/stdin";;
-        *) # Look for the file first in the build tree, then in the source tree
-  	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-  	 # because $ac_f cannot contain `:'.
---- 14148,14154 ----
-      for ac_f
-      do
-        case $ac_f in
-!       -) ac_f="$ac_tmp/stdin";;
-        *) # Look for the file first in the build tree, then in the source tree
-  	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-  	 # because $ac_f cannot contain `:'.
-***************
-*** 14117,14123 ****
-  	   [\\/$]*) false;;
-  	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-  	   esac ||
-! 	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-        esac
-        case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-        as_fn_append ac_file_inputs " '$ac_f'"
---- 14157,14163 ----
-  	   [\\/$]*) false;;
-  	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-  	   esac ||
-! 	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-        esac
-        case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-        as_fn_append ac_file_inputs " '$ac_f'"
-***************
-*** 14143,14150 ****
-      esac
-  
-      case $ac_tag in
-!     *:-:* | *:-) cat >"$tmp/stdin" \
-!       || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
-      esac
-      ;;
-    esac
---- 14183,14190 ----
-      esac
-  
-      case $ac_tag in
-!     *:-:* | *:-) cat >"$ac_tmp/stdin" \
-!       || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-      esac
-      ;;
-    esac
-***************
-*** 14269,14291 ****
-  s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-  $ac_datarootdir_hack
-  "
-! eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-!   || as_fn_error "could not create $ac_file" "$LINENO" 5
-  
-  test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-!   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-!   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-! which seems to be undefined.  Please make sure it is defined." >&5
-  $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-! which seems to be undefined.  Please make sure it is defined." >&2;}
-  
-!   rm -f "$tmp/stdin"
-    case $ac_file in
-!   -) cat "$tmp/out" && rm -f "$tmp/out";;
-!   *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
-    esac \
-!   || as_fn_error "could not create $ac_file" "$LINENO" 5
-   ;;
-    :H)
-    #
---- 14309,14332 ----
-  s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-  $ac_datarootdir_hack
-  "
-! eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-!   >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-  
-  test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-!   { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-!   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
-!       "$ac_tmp/out"`; test -z "$ac_out"; } &&
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-! which seems to be undefined.  Please make sure it is defined" >&5
-  $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-! which seems to be undefined.  Please make sure it is defined" >&2;}
-  
-!   rm -f "$ac_tmp/stdin"
-    case $ac_file in
-!   -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-!   *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-    esac \
-!   || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-   ;;
-    :H)
-    #
-***************
-*** 14294,14314 ****
-    if test x"$ac_file" != x-; then
-      {
-        $as_echo "/* $configure_input  */" \
-!       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-!     } >"$tmp/config.h" \
-!       || as_fn_error "could not create $ac_file" "$LINENO" 5
-!     if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-  $as_echo "$as_me: $ac_file is unchanged" >&6;}
-      else
-        rm -f "$ac_file"
-!       mv "$tmp/config.h" "$ac_file" \
-! 	|| as_fn_error "could not create $ac_file" "$LINENO" 5
-      fi
-    else
-      $as_echo "/* $configure_input  */" \
-!       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-!       || as_fn_error "could not create -" "$LINENO" 5
-    fi
-   ;;
-  
---- 14335,14355 ----
-    if test x"$ac_file" != x-; then
-      {
-        $as_echo "/* $configure_input  */" \
-!       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-!     } >"$ac_tmp/config.h" \
-!       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-!     if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-  $as_echo "$as_me: $ac_file is unchanged" >&6;}
-      else
-        rm -f "$ac_file"
-!       mv "$ac_tmp/config.h" "$ac_file" \
-! 	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
-      fi
-    else
-      $as_echo "/* $configure_input  */" \
-!       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-!       || as_fn_error $? "could not create -" "$LINENO" 5
-    fi
-   ;;
-  
-***************
-*** 14323,14329 ****
-  ac_clean_files=$ac_clean_files_save
-  
-  test $ac_write_fail = 0 ||
-!   as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
-  
-  
-  # configure is writing to config.log, and then calls config.status.
---- 14364,14370 ----
-  ac_clean_files=$ac_clean_files_save
-  
-  test $ac_write_fail = 0 ||
-!   as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-  
-  
-  # configure is writing to config.log, and then calls config.status.
-***************
-*** 14344,14350 ****
-    exec 5>>auto/config.log
-    # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-    # would make configure fail if this is the last instruction.
-!   $ac_cs_success || as_fn_exit $?
-  fi
-  if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
---- 14385,14391 ----
-    exec 5>>auto/config.log
-    # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-    # would make configure fail if this is the last instruction.
-!   $ac_cs_success || as_fn_exit 1
-  fi
-  if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-*** ../vim-7.4.222/src/version.c	2014-03-27 17:19:05.868676325 +0100
---- src/version.c	2014-03-27 17:37:52.608693590 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     223,
-  /**/
-
--- 
-For humans, honesty is a matter of degree.  Engineers are always honest in
-matters of technology and human relationships.  That's why it's a good idea
-to keep engineers away from customers, romantic interests, and other people
-who can't handle the truth.
-				(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    ///
diff --git a/7.4.224 b/7.4.224
deleted file mode 100644
index 977cd82..0000000
--- a/7.4.224
+++ /dev/null
@@ -1,210 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.224
-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.224
-Problem:    /usr/bin/grep on Solaris does not support -F.
-Solution:   Add configure check to find a good grep. (Danek Duvall)
-Files:	    src/configure.in, src/auto/configure
-
-
-*** ../vim-7.4.223/src/configure.in	2014-03-27 17:40:53.384696360 +0100
---- src/configure.in	2014-03-27 18:49:24.900759361 +0100
-***************
-*** 14,19 ****
---- 14,20 ----
-  AC_PROG_CC	dnl required by almost everything
-  AC_PROG_CPP	dnl required by header file checks
-  AC_PROGRAM_EGREP dnl required by AC_EGREP_CPP
-+ AC_PROG_FGREP	dnl finds working grep -F
-  AC_ISC_POSIX	dnl required by AC_C_CROSS
-  AC_PROG_AWK	dnl required for "make html" in ../doc
-  
-***************
-*** 936,942 ****
-  	  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
-  	fi
-  	if test "X$perlldflags" != "X"; then
-! 	  if test "X`echo \"$LDFLAGS\" | grep -F -e \"$perlldflags\"`" = "X"; then
-  	    LDFLAGS="$perlldflags $LDFLAGS"
-  	  fi
-  	fi
---- 937,943 ----
-  	  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
-  	fi
-  	if test "X$perlldflags" != "X"; then
-! 	  if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
-  	    LDFLAGS="$perlldflags $LDFLAGS"
-  	  fi
-  	fi
-***************
-*** 1727,1733 ****
-  	  dnl configure, so strip these flags first (if present)
-  	  rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
-  	  if test "X$rubyldflags" != "X"; then
-! 	    if test "X`echo \"$LDFLAGS\" | grep -F -e \"$rubyldflags\"`" = "X"; then
-  	      LDFLAGS="$rubyldflags $LDFLAGS"
-  	    fi
-  	  fi
---- 1728,1734 ----
-  	  dnl configure, so strip these flags first (if present)
-  	  rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
-  	  if test "X$rubyldflags" != "X"; then
-! 	    if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$rubyldflags\"`" = "X"; then
-  	      LDFLAGS="$rubyldflags $LDFLAGS"
-  	    fi
-  	  fi
-*** ../vim-7.4.223/src/auto/configure	2014-03-27 17:40:53.396696361 +0100
---- src/auto/configure	2014-03-27 18:49:34.356759506 +0100
-***************
-*** 719,724 ****
---- 719,725 ----
-  CPP_MM
-  STRIP
-  AWK
-+ FGREP
-  EGREP
-  GREP
-  CPP
-***************
-*** 3695,3701 ****
-  
-  fi
-  rm -f conftest*
-!  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-  $as_echo_n "checking for library containing strerror... " >&6; }
-  if ${ac_cv_search_strerror+:} false; then :
-    $as_echo_n "(cached) " >&6
---- 3696,3768 ----
-  
-  fi
-  rm -f conftest*
-!  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-! $as_echo_n "checking for fgrep... " >&6; }
-! if ${ac_cv_path_FGREP+:} false; then :
-!   $as_echo_n "(cached) " >&6
-! else
-!   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-!    then ac_cv_path_FGREP="$GREP -F"
-!    else
-!      if test -z "$FGREP"; then
-!   ac_path_FGREP_found=false
-!   # Loop through the user's path and test for each of PROGNAME-LIST
-!   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-! for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-! do
-!   IFS=$as_save_IFS
-!   test -z "$as_dir" && as_dir=.
-!     for ac_prog in fgrep; do
-!     for ac_exec_ext in '' $ac_executable_extensions; do
-!       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-!       as_fn_executable_p "$ac_path_FGREP" || continue
-! # Check for GNU ac_path_FGREP and select it if it is found.
-!   # Check for GNU $ac_path_FGREP
-! case `"$ac_path_FGREP" --version 2>&1` in
-! *GNU*)
-!   ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-! *)
-!   ac_count=0
-!   $as_echo_n 0123456789 >"conftest.in"
-!   while :
-!   do
-!     cat "conftest.in" "conftest.in" >"conftest.tmp"
-!     mv "conftest.tmp" "conftest.in"
-!     cp "conftest.in" "conftest.nl"
-!     $as_echo 'FGREP' >> "conftest.nl"
-!     "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-!     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-!     as_fn_arith $ac_count + 1 && ac_count=$as_val
-!     if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-!       # Best one so far, save it but keep looking for a better one
-!       ac_cv_path_FGREP="$ac_path_FGREP"
-!       ac_path_FGREP_max=$ac_count
-!     fi
-!     # 10*(2^10) chars as input seems more than enough
-!     test $ac_count -gt 10 && break
-!   done
-!   rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-! esac
-! 
-!       $ac_path_FGREP_found && break 3
-!     done
-!   done
-!   done
-! IFS=$as_save_IFS
-!   if test -z "$ac_cv_path_FGREP"; then
-!     as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-!   fi
-! else
-!   ac_cv_path_FGREP=$FGREP
-! fi
-! 
-!    fi
-! fi
-! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-! $as_echo "$ac_cv_path_FGREP" >&6; }
-!  FGREP="$ac_cv_path_FGREP"
-! 
-! 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-  $as_echo_n "checking for library containing strerror... " >&6; }
-  if ${ac_cv_search_strerror+:} false; then :
-    $as_echo_n "(cached) " >&6
-***************
-*** 5480,5486 ****
-  	  	  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
-  	fi
-  	if test "X$perlldflags" != "X"; then
-! 	  if test "X`echo \"$LDFLAGS\" | grep -F -e \"$perlldflags\"`" = "X"; then
-  	    LDFLAGS="$perlldflags $LDFLAGS"
-  	  fi
-  	fi
---- 5547,5553 ----
-  	  	  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
-  	fi
-  	if test "X$perlldflags" != "X"; then
-! 	  if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
-  	    LDFLAGS="$perlldflags $LDFLAGS"
-  	  fi
-  	fi
-***************
-*** 6838,6844 ****
-  	if test "X$rubyldflags" != "X"; then
-  	  	  	  	  rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
-  	  if test "X$rubyldflags" != "X"; then
-! 	    if test "X`echo \"$LDFLAGS\" | grep -F -e \"$rubyldflags\"`" = "X"; then
-  	      LDFLAGS="$rubyldflags $LDFLAGS"
-  	    fi
-  	  fi
---- 6905,6911 ----
-  	if test "X$rubyldflags" != "X"; then
-  	  	  	  	  rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
-  	  if test "X$rubyldflags" != "X"; then
-! 	    if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$rubyldflags\"`" = "X"; then
-  	      LDFLAGS="$rubyldflags $LDFLAGS"
-  	    fi
-  	  fi
-*** ../vim-7.4.223/src/version.c	2014-03-27 17:40:53.396696361 +0100
---- src/version.c	2014-03-27 18:48:59.488758971 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     224,
-  /**/
-
--- 
-Female engineers become irresistible at the age of consent and remain that
-way until about thirty minutes after their clinical death.  Longer if it's a
-warm day.
-				(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    ///
diff --git a/7.4.225 b/7.4.225
deleted file mode 100644
index ba2207b..0000000
--- a/7.4.225
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.225
-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.225
-Problem:    Dynamic Ruby doesn't work on Solaris.
-Solution:   Always use the stubs. (Danek Duvall, Yukihiro Nakadaira)
-Files:	    src/if_ruby.c
-
-
-*** ../vim-7.4.224/src/if_ruby.c	2014-02-23 22:52:33.352764716 +0100
---- src/if_ruby.c	2014-03-27 18:56:37.428765988 +0100
-***************
-*** 88,95 ****
-  # define rb_int2big rb_int2big_stub
-  #endif
-  
-! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
-! 	&& VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
-   * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
-  # define rb_fix2int rb_fix2int_stub
---- 88,94 ----
-  # define rb_int2big rb_int2big_stub
-  #endif
-  
-! #if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
-   * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
-  # define rb_fix2int rb_fix2int_stub
-***************
-*** 203,210 ****
-  # define rb_inspect			dll_rb_inspect
-  # define rb_int2inum			dll_rb_int2inum
-  # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
-- #  define rb_fix2int			dll_rb_fix2int
-- #  define rb_num2int			dll_rb_num2int
-  #  define rb_num2uint			dll_rb_num2uint
-  # endif
-  # define rb_lastline_get			dll_rb_lastline_get
---- 202,207 ----
-***************
-*** 392,399 ****
-  {
-      return dll_rb_int2big(x);
-  }
-! #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
-! 	&& VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  long rb_fix2int_stub(VALUE x)
-  {
-      return dll_rb_fix2int(x);
---- 389,395 ----
-  {
-      return dll_rb_int2big(x);
-  }
-! #  if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  long rb_fix2int_stub(VALUE x)
-  {
-      return dll_rb_fix2int(x);
-*** ../vim-7.4.224/src/version.c	2014-03-27 18:51:06.612760919 +0100
---- src/version.c	2014-03-27 18:55:21.412764824 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     225,
-  /**/
-
--- 
-Engineers are widely recognized as superior marriage material: intelligent,
-dependable, employed, honest, and handy around the house.
-				(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    ///
diff --git a/7.4.226 b/7.4.226
deleted file mode 100644
index 7c00c3d..0000000
--- a/7.4.226
+++ /dev/null
@@ -1,136 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.226
-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.226 (after 7.4.219)
-Problem:    Cursurline highlighting not redrawn when scrolling. (John
-	    Marriott)
-Solution:   Check for required redraw in two places.
-Files:	    src/move.c
-
-
-*** ../vim-7.4.225/src/move.c	2014-03-27 12:11:43.888393741 +0100
---- src/move.c	2014-03-28 21:45:56.958245561 +0100
-***************
-*** 20,25 ****
---- 20,26 ----
-  #include "vim.h"
-  
-  static void comp_botline __ARGS((win_T *wp));
-+ static void redraw_for_cursorline __ARGS((win_T *wp));
-  static int scrolljump_value __ARGS((void));
-  static int check_top_offset __ARGS((void));
-  static void curs_rows __ARGS((win_T *wp, int do_botline));
-***************
-*** 106,111 ****
---- 107,113 ----
-  #ifdef FEAT_FOLDING
-  	    wp->w_cline_folded = folded;
-  #endif
-+ 	    redraw_for_cursorline(wp);
-  	    wp->w_valid |= (VALID_CROW|VALID_CHEIGHT);
-  	}
-  	if (done + n > wp->w_height)
-***************
-*** 124,129 ****
---- 126,152 ----
-  }
-  
-  /*
-+  * Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
-+  * set.
-+  */
-+     static void
-+ redraw_for_cursorline(wp)
-+     win_T *wp;
-+ {
-+     if ((wp->w_p_rnu
-+ #ifdef FEAT_SYN_HL
-+ 		|| wp->w_p_cul
-+ #endif
-+ 		)
-+ 	    && (wp->w_valid & VALID_CROW) == 0
-+ # ifdef FEAT_INS_EXPAND
-+ 	    && !pum_visible()
-+ # endif
-+ 	    )
-+ 	redraw_win_later(wp, SOME_VALID);
-+ }
-+ 
-+ /*
-   * Update curwin->w_topline and redraw if necessary.
-   * Used to update the screen before printing a message.
-   */
-***************
-*** 772,791 ****
-  	}
-      }
-  
-!     /* Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
-!      * set. */
-!     if ((curwin->w_p_rnu
-! #ifdef FEAT_SYN_HL
-! 		|| curwin->w_p_cul
-! #endif
-! 		)
-! 	    && (curwin->w_valid & VALID_CROW) == 0
-! # ifdef FEAT_INS_EXPAND
-! 	    && !pum_visible()
-! # endif
-! 	    )
-! 	redraw_later(SOME_VALID);
-! 
-      wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
-  
-      /* validate botline too, if update_screen doesn't do it */
---- 795,801 ----
-  	}
-      }
-  
-!     redraw_for_cursorline(curwin);
-      wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
-  
-      /* validate botline too, if update_screen doesn't do it */
-***************
-*** 2504,2511 ****
-  		    }
-  		    comp_botline(curwin);
-  		    curwin->w_cursor.lnum = curwin->w_botline - 1;
-! 		    curwin->w_valid &= ~(VALID_WCOL|VALID_CHEIGHT|
-! 			    VALID_WROW|VALID_CROW);
-  		}
-  		else
-  		{
---- 2514,2521 ----
-  		    }
-  		    comp_botline(curwin);
-  		    curwin->w_cursor.lnum = curwin->w_botline - 1;
-! 		    curwin->w_valid &=
-! 			    ~(VALID_WCOL|VALID_CHEIGHT|VALID_WROW|VALID_CROW);
-  		}
-  		else
-  		{
-*** ../vim-7.4.225/src/version.c	2014-03-27 19:08:52.008777244 +0100
---- src/version.c	2014-03-28 21:48:45.330248141 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     226,
-  /**/
-
--- 
-Bad fashion can discourage normal people from interacting with the engineer
-and talking about the cute things their children do.
-				(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    ///
diff --git a/7.4.227 b/7.4.227
deleted file mode 100644
index a7204bc..0000000
--- a/7.4.227
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.227
-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.227 (after 7.4.225)
-Problem:    Can't build with Ruby 1.8.
-Solution:   Do include a check for the Ruby version. (Ken Takata)
-Files:	    src/if_ruby.c
-
-
-*** ../vim-7.4.226/src/if_ruby.c	2014-03-27 19:08:52.004777244 +0100
---- src/if_ruby.c	2014-03-28 21:54:06.414253061 +0100
-***************
-*** 88,95 ****
-  # define rb_int2big rb_int2big_stub
-  #endif
-  
-! #if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-! /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
-   * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
-  # define rb_fix2int rb_fix2int_stub
-  # define rb_num2int rb_num2int_stub
---- 88,96 ----
-  # define rb_int2big rb_int2big_stub
-  #endif
-  
-! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
-! 	&& VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-! /* Ruby 1.9 defines a number of static functions which use rb_fix2int and
-   * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
-  # define rb_fix2int rb_fix2int_stub
-  # define rb_num2int rb_num2int_stub
-***************
-*** 202,207 ****
---- 203,212 ----
-  # define rb_inspect			dll_rb_inspect
-  # define rb_int2inum			dll_rb_int2inum
-  # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
-+ #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 18
-+ #   define rb_fix2int			dll_rb_fix2int
-+ #   define rb_num2int			dll_rb_num2int
-+ #  endif
-  #  define rb_num2uint			dll_rb_num2uint
-  # endif
-  # define rb_lastline_get			dll_rb_lastline_get
-***************
-*** 389,395 ****
-  {
-      return dll_rb_int2big(x);
-  }
-! #  if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  long rb_fix2int_stub(VALUE x)
-  {
-      return dll_rb_fix2int(x);
---- 394,401 ----
-  {
-      return dll_rb_int2big(x);
-  }
-! #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
-! 	&& VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-  long rb_fix2int_stub(VALUE x)
-  {
-      return dll_rb_fix2int(x);
-*** ../vim-7.4.226/src/version.c	2014-03-28 21:49:26.854248777 +0100
---- src/version.c	2014-03-28 21:53:51.546252833 +0100
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     227,
-  /**/
-
--- 
-No engineer can take a shower without wondering if some sort of Teflon coating
-would make showering unnecessary.
-				(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    ///
diff --git a/7.4.228 b/7.4.228
deleted file mode 100644
index 0ce909c..0000000
--- a/7.4.228
+++ /dev/null
@@ -1,189 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.228
-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.228
-Problem:    Compiler warnings when building with Python 3.2.
-Solution:   Make type cast depend on Python version. (Ken Takata)
-Files:	    src/if_py_both.h, src/if_python.c, src/if_python3.c
-
-
-*** ../vim-7.4.227/src/if_py_both.h	2014-03-08 16:13:39.115462069 +0100
---- src/if_py_both.h	2014-03-30 15:58:40.948518929 +0200
-***************
-*** 2328,2334 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return NULL;
-  	return ListSlice(self, start, step, slicelen);
---- 2328,2334 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject_T *)idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return NULL;
-  	return ListSlice(self, start, step, slicelen);
-***************
-*** 2618,2624 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return -1;
-  	return ListAssSlice(self, start, step, slicelen,
---- 2618,2624 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject_T *)idx, ListLength(self),
-  				 &start, &stop, &step, &slicelen) < 0)
-  	    return -1;
-  	return ListAssSlice(self, start, step, slicelen,
-*** ../vim-7.4.227/src/if_python.c	2014-02-23 22:52:33.368764715 +0100
---- src/if_python.c	2014-03-30 15:58:35.768518850 +0200
-***************
-*** 803,808 ****
---- 803,810 ----
-  # define PY_STRSAVE(s) ((char_u *) py_memsave(s, STRLEN(s) + 1))
-  #endif
-  
-+ typedef PySliceObject PySliceObject_T;
-+ 
-  /*
-   * Include the code shared with if_python3.c
-   */
-*** ../vim-7.4.227/src/if_python3.c	2014-01-14 19:35:49.000000000 +0100
---- src/if_python3.c	2014-03-30 15:59:24.752519600 +0200
-***************
-*** 100,105 ****
---- 100,115 ----
-  #define PyIntArgFunc	ssizeargfunc
-  #define PyIntObjArgProc	ssizeobjargproc
-  
-+ /*
-+  * PySlice_GetIndicesEx(): first argument type changed from PySliceObject
-+  * to PyObject in Python 3.2 or later.
-+  */
-+ #if PY_VERSION_HEX >= 0x030200f0
-+ typedef PyObject PySliceObject_T;
-+ #else
-+ typedef PySliceObject PySliceObject_T;
-+ #endif
-+ 
-  #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
-  
-  # ifndef WIN3264
-***************
-*** 294,300 ****
-  static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
-  static int (*py3_PyMapping_Check)(PyObject *);
-  static PyObject* (*py3_PyMapping_Keys)(PyObject *);
-! static int (*py3_PySlice_GetIndicesEx)(PySliceObject *r, Py_ssize_t length,
-  		     Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
-  		     Py_ssize_t *slicelen);
-  static PyObject* (*py3_PyErr_NoMemory)(void);
---- 304,310 ----
-  static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
-  static int (*py3_PyMapping_Check)(PyObject *);
-  static PyObject* (*py3_PyMapping_Keys)(PyObject *);
-! static int (*py3_PySlice_GetIndicesEx)(PySliceObject_T *r, Py_ssize_t length,
-  		     Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
-  		     Py_ssize_t *slicelen);
-  static PyObject* (*py3_PyErr_NoMemory)(void);
-***************
-*** 1190,1196 ****
-  	if (CheckBuffer((BufferObject *) self))
-  	    return NULL;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
---- 1200,1206 ----
-  	if (CheckBuffer((BufferObject *) self))
-  	    return NULL;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
-***************
-*** 1222,1228 ****
-  	if (CheckBuffer((BufferObject *) self))
-  	    return -1;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
---- 1232,1238 ----
-  	if (CheckBuffer((BufferObject *) self))
-  	    return -1;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
-  	      (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-  	      &start, &stop,
-  	      &step, &slicelen) < 0)
-***************
-*** 1306,1312 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
---- 1316,1322 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
-***************
-*** 1333,1339 ****
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
---- 1343,1349 ----
-      {
-  	Py_ssize_t start, stop, step, slicelen;
-  
-! 	if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
-  		((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-  		&start, &stop,
-  		&step, &slicelen) < 0)
-*** ../vim-7.4.227/src/version.c	2014-03-28 21:58:17.878256914 +0100
---- src/version.c	2014-03-30 15:52:27.784513211 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     228,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.229 b/7.4.229
deleted file mode 100644
index e77a98c..0000000
--- a/7.4.229
+++ /dev/null
@@ -1,141 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.229
-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.229
-Problem:    Using ":let" for listing variables and the second one is a curly
-	    braces expression may fail.
-Solution:   Check for an "=" in a better way. (ZyX)
-Files:	    src/eval.c, src/testdir/test104.in, src/testdir/test104.ok
-
-
-*** ../vim-7.4.228/src/eval.c	2014-03-25 18:23:27.062087691 +0100
---- src/eval.c	2014-03-30 16:46:24.464562806 +0200
-***************
-*** 1856,1863 ****
-  	return;
-      if (argend > arg && argend[-1] == '.')  /* for var.='str' */
-  	--argend;
-!     expr = vim_strchr(argend, '=');
-!     if (expr == NULL)
-      {
-  	/*
-  	 * ":let" without "=": list variables
---- 1856,1864 ----
-  	return;
-      if (argend > arg && argend[-1] == '.')  /* for var.='str' */
-  	--argend;
-!     expr = skipwhite(argend);
-!     if (*expr != '=' && !(vim_strchr((char_u *)"+-.", *expr) != NULL
-! 			  && expr[1] == '='))
-      {
-  	/*
-  	 * ":let" without "=": list variables
-***************
-*** 1886,1897 ****
-      {
-  	op[0] = '=';
-  	op[1] = NUL;
-! 	if (expr > argend)
-  	{
-! 	    if (vim_strchr((char_u *)"+-.", expr[-1]) != NULL)
-! 		op[0] = expr[-1];   /* +=, -= or .= */
-  	}
-! 	expr = skipwhite(expr + 1);
-  
-  	if (eap->skip)
-  	    ++emsg_skip;
---- 1887,1900 ----
-      {
-  	op[0] = '=';
-  	op[1] = NUL;
-! 	if (*expr != '=')
-  	{
-! 	    if (vim_strchr((char_u *)"+-.", *expr) != NULL)
-! 		op[0] = *expr;   /* +=, -= or .= */
-! 	    expr = skipwhite(expr + 2);
-  	}
-! 	else
-! 	    expr = skipwhite(expr + 1);
-  
-  	if (eap->skip)
-  	    ++emsg_skip;
-*** ../vim-7.4.228/src/testdir/test104.in	2014-02-05 22:25:29.982568243 +0100
---- src/testdir/test104.in	2014-03-30 16:44:39.432561197 +0200
-***************
-*** 1,4 ****
-! Tests for autoload.  vim: set ft=vim ts=8 :
-  
-  STARTTEST
-  :so small.vim
---- 1,4 ----
-! Tests for :let.  vim: set ft=vim ts=8 :
-  
-  STARTTEST
-  :so small.vim
-***************
-*** 10,15 ****
---- 10,29 ----
-  :catch
-  :  $put ='FAIL: ' . v:exception
-  :endtry
-+ :let a = 1
-+ :let b = 2
-+ :for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0 == 1 ? "a" : "b"}']
-+ :  try
-+ :    redir => messages
-+ :    execute 'let' letargs
-+ :    redir END
-+ :    $put ='OK:'
-+ :    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')
-+ :  catch
-+ :    $put ='FAIL: ' . v:exception
-+ :    redir END
-+ :  endtry
-+ :endfor
-  :/^Results/,$wq! test.out
-  ENDTEST
-  
-*** ../vim-7.4.228/src/testdir/test104.ok	2014-02-05 22:25:29.982568243 +0100
---- src/testdir/test104.ok	2014-03-30 16:44:39.432561197 +0200
-***************
-*** 1,2 ****
---- 1,13 ----
-  Results of test104:
-  OK: function('tr')
-+ OK:
-+   a                     #1
-+   b                     #2
-+ OK:
-+   b                     #2
-+ OK:
-+   b                     #2
-+   a                     #1
-+ OK:
-+   a                     #1
-+   b                     #2
-*** ../vim-7.4.228/src/version.c	2014-03-30 16:11:37.180530823 +0200
---- src/version.c	2014-03-30 16:46:39.660563039 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     229,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.230 b/7.4.230
deleted file mode 100644
index 933de67..0000000
--- a/7.4.230
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.230
-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.230
-Problem:    Error when using ":options".
-Solution:   Fix the entry for 'lispwords'. (Kenichi Ito)
-Files:	    runtime/optwin.vim
-
-
-*** ../vim-7.4.229/runtime/optwin.vim	2014-03-12 18:55:52.100906804 +0100
---- runtime/optwin.vim	2014-04-01 12:25:09.825159207 +0200
-***************
-*** 855,861 ****
-    call append("$", "\t(local to buffer)")
-    call <SID>BinOptionL("lisp")
-    call append("$", "lispwords\twords that change how lisp indenting works")
-!   call <SID>OptionL("lw", &lw)
-  endif
-  
-  
---- 855,861 ----
-    call append("$", "\t(local to buffer)")
-    call <SID>BinOptionL("lisp")
-    call append("$", "lispwords\twords that change how lisp indenting works")
-!   call <SID>OptionL("lw")
-  endif
-  
-  
-*** ../vim-7.4.229/src/version.c	2014-03-30 16:49:06.412565288 +0200
---- src/version.c	2014-04-01 12:23:07.629160888 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     230,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-9. All your daydreaming is preoccupied with getting a faster connection to the
-   net: 28.8...ISDN...cable modem...T1...T3.
-
- /// 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    ///
diff --git a/7.4.231 b/7.4.231
deleted file mode 100644
index eb66144..0000000
--- a/7.4.231
+++ /dev/null
@@ -1,267 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.231
-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.231
-Problem:    An error in ":options" is not caught by the tests.
-Solution:   Add a test for ":options".  Set $VIMRUNTIME for the tests so that
-	    it uses the current runtime files instead of the installed ones.
-Files:	    src/Makefile, src/testdir/Makefile, src/testdir/test_options.in,
-	    src/testdir/test_options.ok, 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
-
-
-*** ../vim-7.4.230/src/Makefile	2014-03-27 17:40:53.384696360 +0100
---- src/Makefile	2014-04-01 13:49:14.025089820 +0200
-***************
-*** 1867,1873 ****
-  	-if test $(VIMTARGET) != vim -a ! -r vim; then \
-  		ln -s $(VIMTARGET) vim; \
-  	fi
-! 	cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG)
-  	$(MAKE) -f Makefile unittest
-  
-  unittesttargets:
---- 1867,1873 ----
-  	-if test $(VIMTARGET) != vim -a ! -r vim; then \
-  		ln -s $(VIMTARGET) vim; \
-  	fi
-! 	cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
-  	$(MAKE) -f Makefile unittest
-  
-  unittesttargets:
-***************
-*** 1880,1885 ****
---- 1880,1886 ----
-  
-  # Run individual test, assuming that Vim was already compiled.
-  test1 test2 test3 test4 test5 test6 test7 test8 test9 \
-+ 	test_options \
-  	test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
-  	test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
-  	test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \
-***************
-*** 1890,1896 ****
-  	test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
-  	test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
-  	test100 test101 test102 test103 test104 test105 test106 test107:
-! 	cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
-  
-  testclean:
-  	cd testdir; $(MAKE) -f Makefile clean
---- 1891,1897 ----
-  	test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
-  	test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
-  	test100 test101 test102 test103 test104 test105 test106 test107:
-! 	cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
-  
-  testclean:
-  	cd testdir; $(MAKE) -f Makefile clean
-*** ../vim-7.4.230/src/testdir/Makefile	2014-03-12 19:41:37.100948866 +0100
---- src/testdir/Makefile	2014-04-01 13:48:07.593090734 +0200
-***************
-*** 3,8 ****
---- 3,9 ----
-  #
-  
-  VIMPROG = ../vim
-+ SCRIPTSOURCE = ../../runtime
-  
-  # Uncomment this line to use valgrind for memory leaks and extra warnings.
-  #   The output goes into a file "valgrind.testN"
-***************
-*** 31,37 ****
-  		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
-  
-  SCRIPTS_GUI = test16.out
-  
---- 32,39 ----
-  		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_options.out
-  
-  SCRIPTS_GUI = test16.out
-  
-***************
-*** 53,59 ****
-  
-  RM_ON_RUN = test.out X* viminfo
-  RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
-! RUN_VIM = $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
-  
-  clean:
-  	-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
---- 55,61 ----
-  
-  RM_ON_RUN = test.out X* viminfo
-  RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
-! RUN_VIM = export VIMRUNTIME=$(SCRIPTSOURCE); $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
-  
-  clean:
-  	-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
-*** ../vim-7.4.230/src/testdir/test_options.in	2014-04-01 14:07:21.057074867 +0200
---- src/testdir/test_options.in	2014-04-01 13:19:34.073114305 +0200
-***************
-*** 0 ****
---- 1,17 ----
-+ Test for ":options".
-+ 
-+ STARTTEST
-+ :so small.vim
-+ :let caught = 'ok'
-+ :try
-+   :options
-+ :catch 
-+   :let caught = v:throwpoint . "\n" . v:exception
-+ :endtry
-+ :buf 1
-+ :$put =caught
-+ :/^result/,$w! test.out
-+ :qa!
-+ ENDTEST
-+ 
-+ result
-*** ../vim-7.4.230/src/testdir/test_options.ok	2014-04-01 14:07:21.065074867 +0200
---- src/testdir/test_options.ok	2014-04-01 13:04:45.041126534 +0200
-***************
-*** 0 ****
---- 1,2 ----
-+ result
-+ ok
-*** ../vim-7.4.230/src/testdir/Make_amiga.mak	2014-03-12 19:41:37.096948866 +0100
---- src/testdir/Make_amiga.mak	2014-04-01 13:13:31.561119292 +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
-  
-  .SUFFIXES: .in .out
-  
---- 35,42 ----
-  		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_options.out
-  
-  .SUFFIXES: .in .out
-  
-***************
-*** 158,160 ****
---- 159,162 ----
-  test104.out: test104.in
-  test105.out: test105.in
-  test106.out: test106.in
-+ test_options.out: test_options.in
-*** ../vim-7.4.230/src/testdir/Make_dos.mak	2014-03-12 19:41:37.096948866 +0100
---- src/testdir/Make_dos.mak	2014-04-01 13:14:07.909118792 +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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 34,41 ----
-  		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_options.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.230/src/testdir/Make_ming.mak	2014-03-12 19:41:37.096948866 +0100
---- src/testdir/Make_ming.mak	2014-04-01 13:14:23.889118572 +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
-  
-  SCRIPTS32 =	test50.out test70.out
-  
---- 54,61 ----
-  		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_options.out
-  
-  SCRIPTS32 =	test50.out test70.out
-  
-*** ../vim-7.4.230/src/testdir/Make_os2.mak	2014-03-12 19:41:37.096948866 +0100
---- src/testdir/Make_os2.mak	2014-04-01 13:14:34.377118428 +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
-  
-  .SUFFIXES: .in .out
-  
---- 36,43 ----
-  		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_options.out
-  
-  .SUFFIXES: .in .out
-  
-*** ../vim-7.4.230/src/testdir/Make_vms.mms	2014-03-12 19:41:37.096948866 +0100
---- src/testdir/Make_vms.mms	2014-04-01 13:14:47.821118243 +0200
-***************
-*** 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
-  
-  # Known problems:
-  # test17: ?
---- 95,102 ----
-  	 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_options.out
-  
-  # Known problems:
-  # test17: ?
-*** ../vim-7.4.230/src/version.c	2014-04-01 12:26:40.245157964 +0200
---- src/version.c	2014-04-01 13:14:57.549118109 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     231,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-11. You find yourself typing "com" after every period when using a word
-    processor.com
-
- /// 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    ///
diff --git a/7.4.232 b/7.4.232
deleted file mode 100644
index 3e2dfe2..0000000
--- a/7.4.232
+++ /dev/null
@@ -1,109 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.232
-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.232
-Problem:    ":%s/\n//" uses a lot of memory. (Aidan Marlin)
-Solution:   Turn this into a join command. (Christian Brabandt)
-Files:	    src/ex_cmds.c, src/ex_docmd.c, src/proto/ex_docmd.pro
-
-
-*** ../vim-7.4.231/src/ex_cmds.c	2014-03-23 15:12:29.919264336 +0100
---- src/ex_cmds.c	2014-04-01 17:37:59.560901015 +0200
-***************
-*** 4420,4425 ****
---- 4420,4450 ----
-  	endcolumn = (curwin->w_curswant == MAXCOL);
-      }
-  
-+     /* Recognize ":%s/\n//" and turn it into a join command, which is much
-+      * more efficient.
-+      * TODO: find a generic solution to make line-joining operations more
-+      * efficient, avoid allocating a string that grows in size.
-+      */
-+     if (STRCMP(pat, "\\n") == 0 && STRLEN(pat) == 2
-+ 	    && *sub == NUL
-+ 	    && (*cmd == NUL || (cmd[1] == NUL && (*cmd == 'g' || *cmd == 'l'
-+ 					     || *cmd == 'p' || *cmd == '#'))))
-+     {
-+ 	curwin->w_cursor.lnum = eap->line1;
-+ 	if (*cmd == 'l')
-+ 	    eap->flags = EXFLAG_LIST;
-+ 	else if (*cmd == '#')
-+ 	    eap->flags = EXFLAG_NR;
-+ 	else if (*cmd == 'p')
-+ 	    eap->flags = EXFLAG_PRINT;
-+ 
-+ 	(void)do_join(eap->line2 - eap->line1 + 1, FALSE, TRUE, FALSE);
-+ 	sub_nlines = sub_nsubs = eap->line2 - eap->line1 + 1;
-+ 	(void)do_sub_msg(FALSE);
-+ 	ex_may_print(eap);
-+ 	return;
-+     }
-+ 
-      /*
-       * Find trailing options.  When '&' is used, keep old options.
-       */
-*** ../vim-7.4.231/src/ex_docmd.c	2014-03-25 13:03:44.937793766 +0100
---- src/ex_docmd.c	2014-04-01 17:31:59.708905965 +0200
-***************
-*** 316,322 ****
-  static void	ex_operators __ARGS((exarg_T *eap));
-  static void	ex_put __ARGS((exarg_T *eap));
-  static void	ex_copymove __ARGS((exarg_T *eap));
-- static void	ex_may_print __ARGS((exarg_T *eap));
-  static void	ex_submagic __ARGS((exarg_T *eap));
-  static void	ex_join __ARGS((exarg_T *eap));
-  static void	ex_at __ARGS((exarg_T *eap));
---- 316,321 ----
-***************
-*** 8683,8689 ****
-  /*
-   * Print the current line if flags were given to the Ex command.
-   */
-!     static void
-  ex_may_print(eap)
-      exarg_T	*eap;
-  {
---- 8682,8688 ----
-  /*
-   * Print the current line if flags were given to the Ex command.
-   */
-!     void
-  ex_may_print(eap)
-      exarg_T	*eap;
-  {
-*** ../vim-7.4.231/src/proto/ex_docmd.pro	2013-08-10 13:37:10.000000000 +0200
---- src/proto/ex_docmd.pro	2014-04-01 17:31:59.708905965 +0200
-***************
-*** 54,57 ****
---- 54,58 ----
-  int put_line __ARGS((FILE *fd, char *s));
-  void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname));
-  char_u *get_behave_arg __ARGS((expand_T *xp, int idx));
-+ void ex_may_print __ARGS((exarg_T *eap));
-  /* vim: set ft=c : */
-*** ../vim-7.4.231/src/version.c	2014-04-01 14:08:14.689074130 +0200
---- src/version.c	2014-04-01 17:33:03.920905082 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     232,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-16. You step out of your room and realize that your parents have moved and
-    you don't have a clue when it happened.
-
- /// 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    ///
diff --git a/7.4.233 b/7.4.233
deleted file mode 100644
index 0ae1bca..0000000
--- a/7.4.233
+++ /dev/null
@@ -1,80 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.233
-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.233
-Problem:    Escaping special characters for using "%" with a shell command is
-	    inconsistant, parenthesis are escaped but spaces are not.
-Solution:   Only escape "!". (Gary Johnson)
-Files:	    src/ex_docmd.c
-
-
-*** ../vim-7.4.232/src/ex_docmd.c	2014-04-01 17:49:40.140891378 +0200
---- src/ex_docmd.c	2014-04-01 18:26:16.036861171 +0200
-***************
-*** 4580,4604 ****
-  
-  	/* For a shell command a '!' must be escaped. */
-  	if ((eap->usefilter || eap->cmdidx == CMD_bang)
-! 			    && vim_strpbrk(repl, (char_u *)"!&;()<>") != NULL)
-  	{
-  	    char_u	*l;
-  
-! 	    l = vim_strsave_escaped(repl, (char_u *)"!&;()<>");
-  	    if (l != NULL)
-  	    {
-  		vim_free(repl);
-  		repl = l;
-- 		/* For a sh-like shell escape "!" another time. */
-- 		if (strstr((char *)p_sh, "sh") != NULL)
-- 		{
-- 		    l = vim_strsave_escaped(repl, (char_u *)"!");
-- 		    if (l != NULL)
-- 		    {
-- 			vim_free(repl);
-- 			repl = l;
-- 		    }
-- 		}
-  	    }
-  	}
-  
---- 4580,4594 ----
-  
-  	/* For a shell command a '!' must be escaped. */
-  	if ((eap->usefilter || eap->cmdidx == CMD_bang)
-! 			    && vim_strpbrk(repl, (char_u *)"!") != NULL)
-  	{
-  	    char_u	*l;
-  
-! 	    l = vim_strsave_escaped(repl, (char_u *)"!");
-  	    if (l != NULL)
-  	    {
-  		vim_free(repl);
-  		repl = l;
-  	    }
-  	}
-  
-*** ../vim-7.4.232/src/version.c	2014-04-01 17:49:40.144891378 +0200
---- src/version.c	2014-04-01 18:54:13.276838100 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     233,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.234 b/7.4.234
deleted file mode 100644
index d70b7a0..0000000
--- a/7.4.234
+++ /dev/null
@@ -1,95 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.234
-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.234
-Problem:    Can't get the command that was used to start Vim.
-Solution:   Add v:progpath. (Viktor Kojouharov)
-Files:	    runtime/doc/eval.txt, src/eval.c, src/main.c, src/vim.h
-
-
-*** ../vim-7.4.233/runtime/doc/eval.txt	2014-03-25 18:23:27.054087691 +0100
---- runtime/doc/eval.txt	2014-04-01 19:33:25.516805743 +0200
-***************
-*** 1557,1562 ****
---- 1558,1569 ----
-  		|evim| etc., or any other name you might symlink to Vim.
-  		Read-only.
-  
-+ 					*v:progpath* *progpath-variable*
-+ v:progpath	Contains the command with which Vim was invoked, including the
-+ 		path.  Useful if you want to message a Vim server using a
-+ 		|--remote-expr|.
-+ 		Read-only.
-+ 
-  					*v:register* *register-variable*
-  v:register	The name of the register in effect for the current normal mode
-  		command (regardless of whether that command actually used a
-*** ../vim-7.4.233/src/eval.c	2014-03-30 16:49:06.412565288 +0200
---- src/eval.c	2014-04-01 19:34:13.164805087 +0200
-***************
-*** 361,366 ****
---- 361,367 ----
-      {VV_NAME("hlsearch",	 VAR_NUMBER), 0},
-      {VV_NAME("oldfiles",	 VAR_LIST), 0},
-      {VV_NAME("windowid",	 VAR_NUMBER), VV_RO},
-+     {VV_NAME("progpath",	 VAR_STRING), VV_RO},
-  };
-  
-  /* shorthand */
-*** ../vim-7.4.233/src/main.c	2014-03-23 15:12:29.923264336 +0100
---- src/main.c	2014-04-01 19:34:13.164805087 +0200
-***************
-*** 1602,1607 ****
---- 1602,1608 ----
-  
-  #ifdef FEAT_EVAL
-      set_vim_var_string(VV_PROGNAME, initstr, -1);
-+     set_vim_var_string(VV_PROGPATH, (char_u *)parmp->argv[0], -1);
-  #endif
-  
-      if (TOLOWER_ASC(initstr[0]) == 'r')
-*** ../vim-7.4.233/src/vim.h	2014-03-24 19:43:56.600837795 +0100
---- src/vim.h	2014-04-01 19:34:13.164805087 +0200
-***************
-*** 1880,1886 ****
-  #define VV_HLSEARCH	54
-  #define VV_OLDFILES	55
-  #define VV_WINDOWID	56
-! #define VV_LEN		57	/* number of v: vars */
-  
-  #ifdef FEAT_CLIPBOARD
-  
---- 1880,1887 ----
-  #define VV_HLSEARCH	54
-  #define VV_OLDFILES	55
-  #define VV_WINDOWID	56
-! #define VV_PROGPATH	57
-! #define VV_LEN		58	/* number of v: vars */
-  
-  #ifdef FEAT_CLIPBOARD
-  
-*** ../vim-7.4.233/src/version.c	2014-04-01 18:54:44.316837673 +0200
---- src/version.c	2014-04-01 19:28:05.092810150 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     234,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-18. Your wife drapes a blond wig over your monitor to remind you of what she
-    looks like.
-
- /// 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    ///
diff --git a/7.4.235 b/7.4.235
deleted file mode 100644
index 1f12ee7..0000000
--- a/7.4.235
+++ /dev/null
@@ -1,552 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.235
-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.235
-Problem:    It is not easy to get the full path of a command.
-Solution:   Add the exepath() function.
-Files:	    src/eval.c, src/misc1.c, src/os_amiga.c, src/os_msdos.c,
-	    src/os_unix.c, src/os_vms.c, src/os_win32.c,
-	    src/proto/os_amiga.pro, src/proto/os_msdos.pro,
-	    src/proto/os_unix.pro, src/proto/os_win32.pro,
-	    runtime/doc/eval.txt
-
-
-*** ../vim-7.4.234/src/eval.c	2014-04-01 19:55:46.252787300 +0200
---- src/eval.c	2014-04-01 20:18:39.212768414 +0200
-***************
-*** 514,519 ****
---- 514,520 ----
-  static void f_eval __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_eventhandler __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_executable __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void f_exepath __ARGS((typval_T *argvars, typval_T *rettv));
-  static void f_exists __ARGS((typval_T *argvars, typval_T *rettv));
-  #ifdef FEAT_FLOAT
-  static void f_exp __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 7920,7925 ****
---- 7921,7927 ----
-      {"eval",		1, 1, f_eval},
-      {"eventhandler",	0, 0, f_eventhandler},
-      {"executable",	1, 1, f_executable},
-+     {"exepath",		1, 1, f_exepath},
-      {"exists",		1, 1, f_exists},
-  #ifdef FEAT_FLOAT
-      {"exp",		1, 1, f_exp},
-***************
-*** 10046,10052 ****
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-!     rettv->vval.v_number = mch_can_exe(get_tv_string(&argvars[0]));
-  }
-  
-  /*
---- 10048,10069 ----
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-!     rettv->vval.v_number = mch_can_exe(get_tv_string(&argvars[0]), NULL);
-! }
-! 
-! /*
-!  * "exepath()" function
-!  */
-!     static void
-! f_exepath(argvars, rettv)
-!     typval_T	*argvars;
-!     typval_T	*rettv;
-! {
-!     char_u *p = NULL;
-! 
-!     (void)mch_can_exe(get_tv_string(&argvars[0]), &p);
-!     rettv->v_type = VAR_STRING;
-!     rettv->vval.v_string = p;
-  }
-  
-  /*
-*** ../vim-7.4.234/src/misc1.c	2014-03-12 18:55:52.100906804 +0100
---- src/misc1.c	2014-04-01 20:01:08.752782864 +0200
-***************
-*** 10728,10734 ****
-  	return;
-  
-      /* If the file isn't executable, may not add it.  Do accept directories. */
-!     if (!isdir && (flags & EW_EXEC) && !mch_can_exe(f))
-  	return;
-  
-      /* Make room for another item in the file list. */
---- 10728,10734 ----
-  	return;
-  
-      /* If the file isn't executable, may not add it.  Do accept directories. */
-!     if (!isdir && (flags & EW_EXEC) && !mch_can_exe(f, NULL))
-  	return;
-  
-      /* Make room for another item in the file list. */
-*** ../vim-7.4.234/src/os_amiga.c	2013-05-06 04:06:04.000000000 +0200
---- src/os_amiga.c	2014-04-01 20:19:50.804767429 +0200
-***************
-*** 884,891 ****
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(name)
-      char_u	*name;
-  {
-      /* TODO */
-      return -1;
---- 884,892 ----
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(name, path)
-      char_u	*name;
-+     char_u	**path;
-  {
-      /* TODO */
-      return -1;
-*** ../vim-7.4.234/src/os_msdos.c	2014-03-23 15:12:29.931264336 +0100
---- src/os_msdos.c	2014-04-01 20:02:39.996781608 +0200
-***************
-*** 2945,2958 ****
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(name)
-      char_u	*name;
-  {
-      char	*p;
-  
-      p = searchpath(name);
-      if (p == NULL || mch_isdir(p))
-  	return FALSE;
-      return TRUE;
-  }
-  
---- 2945,2961 ----
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(name, path)
-      char_u	*name;
-+     char_u	**path;
-  {
-      char	*p;
-  
-      p = searchpath(name);
-      if (p == NULL || mch_isdir(p))
-  	return FALSE;
-+     if (path != NULL)
-+ 	*path = vim_strsave(p);
-      return TRUE;
-  }
-  
-*** ../vim-7.4.234/src/os_unix.c	2014-03-12 16:51:35.060792541 +0100
---- src/os_unix.c	2014-04-01 20:46:21.304745550 +0200
-***************
-*** 2992,2999 ****
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(name)
-      char_u	*name;
-  {
-      char_u	*buf;
-      char_u	*p, *e;
---- 2992,3000 ----
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(name, path)
-      char_u	*name;
-+     char_u	**path;
-  {
-      char_u	*buf;
-      char_u	*p, *e;
-***************
-*** 3003,3009 ****
-      if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
-  				      || (name[1] == '.' && name[2] == '/'))))
-      {
-! 	return executable_file(name);
-      }
-  
-      p = (char_u *)getenv("PATH");
---- 3004,3021 ----
-      if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
-  				      || (name[1] == '.' && name[2] == '/'))))
-      {
-! 	if (executable_file(name))
-! 	{
-! 	    if (path != NULL)
-! 	    {
-! 		if (name[0] == '.')
-! 		    *path = FullName_save(name, TRUE);
-! 		else
-! 		    *path = vim_strsave(name);
-! 	    }
-! 	    return TRUE;
-! 	}
-! 	return FALSE;
-      }
-  
-      p = (char_u *)getenv("PATH");
-***************
-*** 3032,3038 ****
---- 3044,3059 ----
-  	STRCAT(buf, name);
-  	retval = executable_file(buf);
-  	if (retval == 1)
-+ 	{
-+ 	    if (path != NULL)
-+ 	    {
-+ 		if (buf[0] == '.')
-+ 		    *path = FullName_save(buf, TRUE);
-+ 		else
-+ 		    *path = vim_strsave(buf);
-+ 	    }
-  	    break;
-+ 	}
-  
-  	if (*e != ':')
-  	    break;
-***************
-*** 5592,5598 ****
-  		    continue;
-  
-  		/* Skip files that are not executable if we check for that. */
-! 		if (!dir && (flags & EW_EXEC) && !mch_can_exe(p))
-  		    continue;
-  
-  		if (--files_free == 0)
---- 5613,5619 ----
-  		    continue;
-  
-  		/* Skip files that are not executable if we check for that. */
-! 		if (!dir && (flags & EW_EXEC) && !mch_can_exe(p, NULL))
-  		    continue;
-  
-  		if (--files_free == 0)
-***************
-*** 6090,6096 ****
-  	    continue;
-  
-  	/* Skip files that are not executable if we check for that. */
-! 	if (!dir && (flags & EW_EXEC) && !mch_can_exe((*file)[i]))
-  	    continue;
-  
-  	p = alloc((unsigned)(STRLEN((*file)[i]) + 1 + dir));
---- 6111,6117 ----
-  	    continue;
-  
-  	/* Skip files that are not executable if we check for that. */
-! 	if (!dir && (flags & EW_EXEC) && !mch_can_exe((*file)[i], NULL))
-  	    continue;
-  
-  	p = alloc((unsigned)(STRLEN((*file)[i]) + 1 + dir));
-***************
-*** 6317,6323 ****
-  
-  /* Reads gpm event and adds special keys to input buf. Returns length of
-   * generated key sequence.
-!  * This function is made after gui_send_mouse_event
-   */
-      static int
-  mch_gpm_process()
---- 6338,6344 ----
-  
-  /* Reads gpm event and adds special keys to input buf. Returns length of
-   * generated key sequence.
-!  * This function is styled after gui_send_mouse_event().
-   */
-      static int
-  mch_gpm_process()
-*** ../vim-7.4.234/src/os_vms.c	2014-03-12 16:51:35.060792541 +0100
---- src/os_vms.c	2014-04-01 20:05:52.960778954 +0200
-***************
-*** 483,489 ****
-  		continue;
-  
-  	    /* Skip files that are not executable if we check for that. */
-! 	    if (!dir && (flags & EW_EXEC) && !mch_can_exe(vms_fmatch[i]))
-  		continue;
-  
-  	    /* allocate memory for pointers */
---- 483,489 ----
-  		continue;
-  
-  	    /* Skip files that are not executable if we check for that. */
-! 	    if (!dir && (flags & EW_EXEC) && !mch_can_exe(vms_fmatch[i], NULL))
-  		continue;
-  
-  	    /* allocate memory for pointers */
-*** ../vim-7.4.234/src/os_win32.c	2014-02-11 17:05:57.282217857 +0100
---- src/os_win32.c	2014-04-01 20:26:07.432762248 +0200
-***************
-*** 1882,1888 ****
-   * TODO: Should somehow check if it's really executable.
-   */
-      static int
-! executable_exists(char *name)
-  {
-      char	*dum;
-      char	fname[_MAX_PATH];
---- 1882,1888 ----
-   * TODO: Should somehow check if it's really executable.
-   */
-      static int
-! executable_exists(char *name, char_u **path)
-  {
-      char	*dum;
-      char	fname[_MAX_PATH];
-***************
-*** 1905,1910 ****
---- 1905,1912 ----
-  		    return FALSE;
-  		if (GetFileAttributesW(fnamew) & FILE_ATTRIBUTE_DIRECTORY)
-  		    return FALSE;
-+ 		if (path != NULL)
-+ 		    *path = utf16_to_enc(fnamew, NULL);
-  		return TRUE;
-  	    }
-  	    /* Retry with non-wide function (for Windows 98). */
-***************
-*** 1915,1920 ****
---- 1917,1924 ----
-  	return FALSE;
-      if (mch_isdir(fname))
-  	return FALSE;
-+     if (path != NULL)
-+ 	*path = vim_strsave(fname);
-      return TRUE;
-  }
-  
-***************
-*** 1996,2002 ****
-  	    vimrun_path = (char *)vim_strsave(vimrun_location);
-  	    s_dont_use_vimrun = FALSE;
-  	}
-! 	else if (executable_exists("vimrun.exe"))
-  	    s_dont_use_vimrun = FALSE;
-  
-  	/* Don't give the warning for a missing vimrun.exe right now, but only
---- 2000,2006 ----
-  	    vimrun_path = (char *)vim_strsave(vimrun_location);
-  	    s_dont_use_vimrun = FALSE;
-  	}
-! 	else if (executable_exists("vimrun.exe", NULL))
-  	    s_dont_use_vimrun = FALSE;
-  
-  	/* Don't give the warning for a missing vimrun.exe right now, but only
-***************
-*** 2010,2016 ****
-       * If "finstr.exe" doesn't exist, use "grep -n" for 'grepprg'.
-       * Otherwise the default "findstr /n" is used.
-       */
-!     if (!executable_exists("findstr.exe"))
-  	set_option_value((char_u *)"grepprg", 0, (char_u *)"grep -n", 0);
-  
-  #ifdef FEAT_CLIPBOARD
---- 2014,2020 ----
-       * If "finstr.exe" doesn't exist, use "grep -n" for 'grepprg'.
-       * Otherwise the default "findstr /n" is used.
-       */
-!     if (!executable_exists("findstr.exe", NULL))
-  	set_option_value((char_u *)"grepprg", 0, (char_u *)"grep -n", 0);
-  
-  #ifdef FEAT_CLIPBOARD
-***************
-*** 3330,3336 ****
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(char_u *name)
-  {
-      char_u	buf[_MAX_PATH];
-      int		len = (int)STRLEN(name);
---- 3334,3340 ----
-   * Return -1 if unknown.
-   */
-      int
-! mch_can_exe(char_u *name, char_u **path)
-  {
-      char_u	buf[_MAX_PATH];
-      int		len = (int)STRLEN(name);
-***************
-*** 3343,3349 ****
-       * this with a Unix-shell like 'shell'. */
-      if (vim_strchr(gettail(name), '.') != NULL
-  			       || strstr((char *)gettail(p_sh), "sh") != NULL)
-! 	if (executable_exists((char *)name))
-  	    return TRUE;
-  
-      /*
---- 3347,3353 ----
-       * this with a Unix-shell like 'shell'. */
-      if (vim_strchr(gettail(name), '.') != NULL
-  			       || strstr((char *)gettail(p_sh), "sh") != NULL)
-! 	if (executable_exists((char *)name, path))
-  	    return TRUE;
-  
-      /*
-***************
-*** 3365,3371 ****
-  	}
-  	else
-  	    copy_option_part(&p, buf + len, _MAX_PATH - len, ";");
-! 	if (executable_exists((char *)buf))
-  	    return TRUE;
-      }
-      return FALSE;
---- 3369,3375 ----
-  	}
-  	else
-  	    copy_option_part(&p, buf + len, _MAX_PATH - len, ";");
-! 	if (executable_exists((char *)buf, path))
-  	    return TRUE;
-      }
-      return FALSE;
-*** ../vim-7.4.234/src/proto/os_amiga.pro	2013-08-10 13:37:37.000000000 +0200
---- src/proto/os_amiga.pro	2014-04-01 20:41:23.672749644 +0200
-***************
-*** 26,32 ****
-  void mch_hide __ARGS((char_u *name));
-  int mch_isdir __ARGS((char_u *name));
-  int mch_mkdir __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name));
-  int mch_nodetype __ARGS((char_u *name));
-  void mch_early_init __ARGS((void));
-  void mch_exit __ARGS((int r));
---- 26,32 ----
-  void mch_hide __ARGS((char_u *name));
-  int mch_isdir __ARGS((char_u *name));
-  int mch_mkdir __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name, char_u **path));
-  int mch_nodetype __ARGS((char_u *name));
-  void mch_early_init __ARGS((void));
-  void mch_exit __ARGS((int r));
-*** ../vim-7.4.234/src/proto/os_msdos.pro	2013-08-10 13:37:37.000000000 +0200
---- src/proto/os_msdos.pro	2014-04-01 20:41:32.432749524 +0200
-***************
-*** 38,44 ****
-  int mch_setperm __ARGS((char_u *name, long perm));
-  void mch_hide __ARGS((char_u *name));
-  int mch_isdir __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name));
-  int mch_nodetype __ARGS((char_u *name));
-  int mch_dirname __ARGS((char_u *buf, int len));
-  int mch_remove __ARGS((char_u *name));
---- 38,44 ----
-  int mch_setperm __ARGS((char_u *name, long perm));
-  void mch_hide __ARGS((char_u *name));
-  int mch_isdir __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name, char_u **path));
-  int mch_nodetype __ARGS((char_u *name));
-  int mch_dirname __ARGS((char_u *buf, int len));
-  int mch_remove __ARGS((char_u *name));
-*** ../vim-7.4.234/src/proto/os_unix.pro	2013-08-10 13:37:23.000000000 +0200
---- src/proto/os_unix.pro	2014-04-01 20:41:58.712749162 +0200
-***************
-*** 42,48 ****
-  void mch_free_acl __ARGS((vim_acl_T aclent));
-  void mch_hide __ARGS((char_u *name));
-  int mch_isdir __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name));
-  int mch_nodetype __ARGS((char_u *name));
-  void mch_early_init __ARGS((void));
-  void mch_free_mem __ARGS((void));
---- 42,48 ----
-  void mch_free_acl __ARGS((vim_acl_T aclent));
-  void mch_hide __ARGS((char_u *name));
-  int mch_isdir __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name, char_u **path));
-  int mch_nodetype __ARGS((char_u *name));
-  void mch_early_init __ARGS((void));
-  void mch_free_mem __ARGS((void));
-*** ../vim-7.4.234/src/proto/os_win32.pro	2013-08-10 13:37:38.000000000 +0200
---- src/proto/os_win32.pro	2014-04-01 20:42:16.992748911 +0200
-***************
-*** 26,32 ****
-  int mch_is_linked __ARGS((char_u *fname));
-  int win32_fileinfo __ARGS((char_u *fname, BY_HANDLE_FILE_INFORMATION *info));
-  int mch_writable __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name));
-  int mch_nodetype __ARGS((char_u *name));
-  vim_acl_T mch_get_acl __ARGS((char_u *fname));
-  void mch_set_acl __ARGS((char_u *fname, vim_acl_T acl));
---- 26,32 ----
-  int mch_is_linked __ARGS((char_u *fname));
-  int win32_fileinfo __ARGS((char_u *fname, BY_HANDLE_FILE_INFORMATION *info));
-  int mch_writable __ARGS((char_u *name));
-! int mch_can_exe __ARGS((char_u *name, char_u **path));
-  int mch_nodetype __ARGS((char_u *name));
-  vim_acl_T mch_get_acl __ARGS((char_u *fname));
-  void mch_set_acl __ARGS((char_u *fname, vim_acl_T acl));
-*** ../vim-7.4.234/runtime/doc/eval.txt	2014-04-01 19:55:46.244787300 +0200
---- runtime/doc/eval.txt	2014-04-01 20:54:37.832738720 +0200
-***************
-*** 1561,1566 ****
---- 1562,1571 ----
-  v:progpath	Contains the command with which Vim was invoked, including the
-  		path.  Useful if you want to message a Vim server using a
-  		|--remote-expr|.
-+ 		To get the full path use: >
-+ 			echo exepath(v:progpath)
-+ <		NOTE: This does not work when the command is a relative path
-+ 		and the current directory has changed.
-  		Read-only.
-  
-  					*v:register* *register-variable*
-***************
-*** 1761,1766 ****
---- 1766,1772 ----
-  eval( {string})			any	evaluate {string} into its value
-  eventhandler( )			Number	TRUE if inside an event handler
-  executable( {expr})		Number	1 if executable {expr} exists
-+ exepath( {expr})		String  full path of the command {expr}
-  exists( {expr})			Number	TRUE if {expr} exists
-  extend( {expr1}, {expr2} [, {expr3}])
-  				List/Dict insert items of {expr2} into {expr1}
-***************
-*** 2705,2710 ****
---- 2711,2725 ----
-  			0	does not exist
-  			-1	not implemented on this system
-  
-+ exepath({expr})						*exepath()*
-+ 		If {expr} is an executable and is either an absolute path, a
-+ 		relative path or found in $PATH, return the full path.
-+ 		Note that the current directory is used when {expr} starts
-+ 		with "./", which may be a problem for Vim: >
-+ 			echo exepath(v:progpath)
-+ < 		If {expr} cannot be found in $PATH or is not executable then
-+ 		an empty string is returned.
-+ 
-  							*exists()*
-  exists({expr})	The result is a Number, which is non-zero if {expr} is
-  		defined, zero otherwise.  The {expr} argument is a string,
-*** ../vim-7.4.234/src/version.c	2014-04-01 19:55:46.252787300 +0200
---- src/version.c	2014-04-01 20:00:44.108783203 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     235,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-19. All of your friends have an @ in their names.
-
- /// 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    ///
diff --git a/7.4.236 b/7.4.236
deleted file mode 100644
index 927b043..0000000
--- a/7.4.236
+++ /dev/null
@@ -1,159 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.236
-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.236
-Problem:    It's not that easy to check the Vim patch version.
-Solution:   Make has("patch-7.4.123") work. (partly by Marc Weber)
-Files:	    runtime/doc/eval.txt, src/eval.c, src/testdir/test60.in,
-	    src/testdir/test60.ok
-
-
-*** ../vim-7.4.235/runtime/doc/eval.txt	2014-04-01 21:00:45.440733663 +0200
---- runtime/doc/eval.txt	2014-04-01 21:19:52.232717888 +0200
-***************
-*** 6395,6407 ****
-      Example: >
-  	:if has("gui_running")
-  <							*has-patch*
-! 3.  Included patches.  First check |v:version| for the version of Vim.
-!     Then the "patch123" feature means that patch 123 has been included for
-!     this version.  Example (checking version 6.2.148 or later): >
-  	:if v:version > 602 || v:version == 602 && has("patch148")
-! <   Note that it's possible for patch 147 to be omitted even though 148 is
-      included.
-  
-  all_builtin_terms	Compiled with all builtin terminals enabled.
-  amiga			Amiga version of Vim.
-  arabic			Compiled with Arabic support |Arabic|.
---- 6408,6430 ----
-      Example: >
-  	:if has("gui_running")
-  <							*has-patch*
-! 3.  Included patches.  The "patch123" feature means that patch 123 has been
-!     included.  Note that this form does not check the version of Vim, you need
-!     to inspect |v:version| for that:
-!     Example (checking version 6.2.148 or later): >
-  	:if v:version > 602 || v:version == 602 && has("patch148")
-! <    Note that it's possible for patch 147 to be omitted even though 148 is
-      included.
-  
-+ 4.  Beyond a certain patch level.  The "patch-7.4.123" feature means that
-+     the Vim version is 7.4 and patch 123 or later was included, or the Vim
-+     version is later than 7.4.
-+     The example above can be simplified to: >
-+ 	:if has("patch-6.2.148")
-+ <    Note that this does not check if the patch was actually included, some
-+     patches may have been skipped.  That is unusual though.
-+ 
-+ acl			Compiled with |ACL| support.
-  all_builtin_terms	Compiled with all builtin terminals enabled.
-  amiga			Amiga version of Vim.
-  arabic			Compiled with Arabic support |Arabic|.
-*** ../vim-7.4.235/src/eval.c	2014-04-01 21:00:45.428733664 +0200
---- src/eval.c	2014-04-01 21:50:59.084692208 +0200
-***************
-*** 12638,12644 ****
-      if (n == FALSE)
-      {
-  	if (STRNICMP(name, "patch", 5) == 0)
-! 	    n = has_patch(atoi((char *)name + 5));
-  	else if (STRICMP(name, "vim_starting") == 0)
-  	    n = (starting != 0);
-  #ifdef FEAT_MBYTE
---- 12638,12664 ----
-      if (n == FALSE)
-      {
-  	if (STRNICMP(name, "patch", 5) == 0)
-! 	{
-! 	    if (name[5] == '-'
-! 		    && STRLEN(name) > 11
-! 		    && vim_isdigit(name[6])
-! 		    && vim_isdigit(name[8])
-! 		    && vim_isdigit(name[10]))
-! 	    {
-! 		int major = atoi((char *)name + 6);
-! 		int minor = atoi((char *)name + 8);
-! 		int patch = atoi((char *)name + 10);
-! 
-! 		/* Expect "patch-9.9.01234". */
-! 		n = (major < VIM_VERSION_MAJOR
-! 		     || (major == VIM_VERSION_MAJOR
-! 			 && (minor < VIM_VERSION_MINOR
-! 			     || (minor == VIM_VERSION_MINOR
-! 				 && patch <= highest_patch()))));
-! 	    }
-! 	    else
-! 		n = has_patch(atoi((char *)name + 5));
-! 	}
-  	else if (STRICMP(name, "vim_starting") == 0)
-  	    n = (starting != 0);
-  #ifdef FEAT_MBYTE
-*** ../vim-7.4.235/src/testdir/test60.in	2014-01-14 15:24:24.000000000 +0100
---- src/testdir/test60.in	2014-04-01 22:01:40.256683388 +0200
-***************
-*** 1,4 ****
-! Tests for the exists() function.  vim: set ft=vim ts=8 :
-  
-  STARTTEST
-  :so small.vim
---- 1,4 ----
-! Tests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :
-  
-  STARTTEST
-  :so small.vim
-***************
-*** 588,593 ****
---- 588,603 ----
-      redir END
-  endfunction
-  :call TestExists()
-+ :"
-+ :function TestHas()
-+   redir >> test.out
-+   for pl in ['6.9.999', '7.1.999', '7.4.123', '9.1.0', '9.9.1']
-+     echo 'has patch ' . pl . ': ' . has('patch-' . pl)
-+   endfor
-+   redir END
-+ endfunc
-+ :call TestHas()
-+ :"
-  :delfunc TestExists
-  :delfunc RunTest
-  :delfunc TestFuncArg
-*** ../vim-7.4.235/src/testdir/test60.ok	2014-01-14 15:24:24.000000000 +0100
---- src/testdir/test60.ok	2014-04-01 22:01:46.664683300 +0200
-***************
-*** 204,206 ****
---- 204,211 ----
-   g:footest#x = 1
-     footest#F() 0
-  UndefFun() 0
-+ has patch 6.9.999: 1
-+ has patch 7.1.999: 1
-+ has patch 7.4.123: 1
-+ has patch 9.1.0: 0
-+ has patch 9.9.1: 0
-*** ../vim-7.4.235/src/version.c	2014-04-01 21:00:45.440733663 +0200
---- src/version.c	2014-04-01 21:22:27.964715746 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     236,
-  /**/
-
--- 
-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    ///
diff --git a/7.4.237 b/7.4.237
deleted file mode 100644
index 02f9405..0000000
--- a/7.4.237
+++ /dev/null
@@ -1,127 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.237
-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.237 (after 7.4.236)
-Problem:    When some patches was not included has("patch-7.4.123") may return
-	    true falsely.
-Solution:   Check for the specific patch number.
-Files:	    runtime/doc/eval.txt, src/eval.c
-
-
-*** ../vim-7.4.236/runtime/doc/eval.txt	2014-04-01 22:08:51.008677463 +0200
---- runtime/doc/eval.txt	2014-04-02 12:09:35.991983552 +0200
-***************
-*** 1681,1687 ****
-  		is 501.  Read-only.  "version" also works, for backwards
-  		compatibility.
-  		Use |has()| to check if a certain patch was included, e.g.: >
-! 			if has("patch123")
-  <		Note that patch numbers are specific to the version, thus both
-  		version 5.0 and 5.1 may have a patch 123, but these are
-  		completely different.
---- 1682,1688 ----
-  		is 501.  Read-only.  "version" also works, for backwards
-  		compatibility.
-  		Use |has()| to check if a certain patch was included, e.g.: >
-! 			if has("patch-7.4.123")
-  <		Note that patch numbers are specific to the version, thus both
-  		version 5.0 and 5.1 may have a patch 123, but these are
-  		completely different.
-***************
-*** 6397,6415 ****
-  <							*has-patch*
-  3.  Included patches.  The "patch123" feature means that patch 123 has been
-      included.  Note that this form does not check the version of Vim, you need
-!     to inspect |v:version| for that:
-      Example (checking version 6.2.148 or later): >
-  	:if v:version > 602 || v:version == 602 && has("patch148")
-  <    Note that it's possible for patch 147 to be omitted even though 148 is
-      included.
-  
-! 4.  Beyond a certain patch level.  The "patch-7.4.123" feature means that
-!     the Vim version is 7.4 and patch 123 or later was included, or the Vim
-!     version is later than 7.4.
-      The example above can be simplified to: >
-  	:if has("patch-6.2.148")
-! <    Note that this does not check if the patch was actually included, some
-!     patches may have been skipped.  That is unusual though.
-  
-  acl			Compiled with |ACL| support.
-  all_builtin_terms	Compiled with all builtin terminals enabled.
---- 6410,6428 ----
-  <							*has-patch*
-  3.  Included patches.  The "patch123" feature means that patch 123 has been
-      included.  Note that this form does not check the version of Vim, you need
-!     to inspect |v:version| for that.
-      Example (checking version 6.2.148 or later): >
-  	:if v:version > 602 || v:version == 602 && has("patch148")
-  <    Note that it's possible for patch 147 to be omitted even though 148 is
-      included.
-  
-! 4.  Beyond a certain version or at a certain version and including a specific
-!     patch.  The "patch-7.4.123" feature means that the Vim version is 7.5 or
-!     later, or it is version 7.4 and patch 123 was included.
-      The example above can be simplified to: >
-  	:if has("patch-6.2.148")
-! <    Note that it's possible for patch 147 to be omitted even though 148 is
-!     included.
-  
-  acl			Compiled with |ACL| support.
-  all_builtin_terms	Compiled with all builtin terminals enabled.
-*** ../vim-7.4.236/src/eval.c	2014-04-01 22:08:51.016677463 +0200
---- src/eval.c	2014-04-02 12:04:41.179987607 +0200
-***************
-*** 12647,12660 ****
-  	    {
-  		int major = atoi((char *)name + 6);
-  		int minor = atoi((char *)name + 8);
-- 		int patch = atoi((char *)name + 10);
-  
-  		/* Expect "patch-9.9.01234". */
-  		n = (major < VIM_VERSION_MAJOR
-  		     || (major == VIM_VERSION_MAJOR
-  			 && (minor < VIM_VERSION_MINOR
-  			     || (minor == VIM_VERSION_MINOR
-! 				 && patch <= highest_patch()))));
-  	    }
-  	    else
-  		n = has_patch(atoi((char *)name + 5));
---- 12647,12659 ----
-  	    {
-  		int major = atoi((char *)name + 6);
-  		int minor = atoi((char *)name + 8);
-  
-  		/* Expect "patch-9.9.01234". */
-  		n = (major < VIM_VERSION_MAJOR
-  		     || (major == VIM_VERSION_MAJOR
-  			 && (minor < VIM_VERSION_MINOR
-  			     || (minor == VIM_VERSION_MINOR
-! 				 && has_patch(atoi((char *)name + 10))))));
-  	    }
-  	    else
-  		n = has_patch(atoi((char *)name + 5));
-*** ../vim-7.4.236/src/version.c	2014-04-01 22:08:51.016677463 +0200
---- src/version.c	2014-04-02 12:10:48.911982549 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     237,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-22. You've already visited all the links at Yahoo and you're halfway through
-    Lycos.
-
- /// 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    ///
diff --git a/7.4.238 b/7.4.238
deleted file mode 100644
index bec9098..0000000
--- a/7.4.238
+++ /dev/null
@@ -1,505 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.238
-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.238
-Problem:    Vim does not support the smack library.
-Solution:   Add smack support (Jose Bollo)
-Files:	    src/config.h.in, src/configure.in, src/fileio.c, src/memfile.c,
-	    src/os_unix.c, src/undo.c, src/auto/configure
-
-
-*** ../vim-7.4.237/src/config.h.in	2014-02-23 22:52:33.364764715 +0100
---- src/config.h.in	2014-04-02 13:37:41.095910851 +0200
-***************
-*** 191,196 ****
---- 191,197 ----
-  #undef HAVE_SIGSETJMP
-  #undef HAVE_SIGSTACK
-  #undef HAVE_SIGVEC
-+ #undef HAVE_SMACK
-  #undef HAVE_STRCASECMP
-  #undef HAVE_STRERROR
-  #undef HAVE_STRFTIME
-*** ../vim-7.4.237/src/configure.in	2014-03-27 18:51:06.604760919 +0100
---- src/configure.in	2014-04-02 13:49:36.955901004 +0200
-***************
-*** 387,406 ****
-  AC_SUBST(QUOTESED)
-  
-  
-! dnl Link with -lselinux for SELinux stuff; if not found
-! AC_MSG_CHECKING(--disable-selinux argument)
-! AC_ARG_ENABLE(selinux,
-! 	[  --disable-selinux	  Don't check for SELinux support.],
-! 	, enable_selinux="yes")
-! if test "$enable_selinux" = "yes"; then
-    AC_MSG_RESULT(no)
-!   AC_CHECK_LIB(selinux, is_selinux_enabled,
-! 	  [LIBS="$LIBS -lselinux"
-! 	   AC_DEFINE(HAVE_SELINUX)])
-  else
-     AC_MSG_RESULT(yes)
-  fi
-  
-  dnl Check user requested features.
-  
-  AC_MSG_CHECKING(--with-features argument)
---- 387,427 ----
-  AC_SUBST(QUOTESED)
-  
-  
-! dnl Link with -lsmack for Smack stuff; if not found
-! AC_MSG_CHECKING(--disable-smack argument)
-! AC_ARG_ENABLE(smack,
-! 	[  --disable-smack	  Do not check for Smack support.],
-! 	, enable_smack="yes")
-! if test "$enable_smack" = "yes"; then
-!   AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
-! fi
-! if test "$enable_smack" = "yes"; then
-    AC_MSG_RESULT(no)
-!   AC_CHECK_LIB(attr, llistxattr,
-! 	  [LIBS="$LIBS -lattr"
-! 	   found_smack="yes"
-! 	   AC_DEFINE(HAVE_SMACK)])
-  else
-     AC_MSG_RESULT(yes)
-  fi
-  
-+ dnl When smack was found don't search for SELinux
-+ if test "x$found_smack" = "x"; then
-+   dnl Link with -lselinux for SELinux stuff; if not found
-+   AC_MSG_CHECKING(--disable-selinux argument)
-+   AC_ARG_ENABLE(selinux,
-+ 	  [  --disable-selinux	  Do not check for SELinux support.],
-+ 	  , enable_selinux="yes")
-+   if test "$enable_selinux" = "yes"; then
-+     AC_MSG_RESULT(no)
-+     AC_CHECK_LIB(selinux, is_selinux_enabled,
-+ 	    [LIBS="$LIBS -lselinux"
-+ 	     AC_DEFINE(HAVE_SELINUX)])
-+   else
-+      AC_MSG_RESULT(yes)
-+   fi
-+ fi
-+ 
-  dnl Check user requested features.
-  
-  AC_MSG_CHECKING(--with-features argument)
-*** ../vim-7.4.237/src/fileio.c	2014-03-12 16:51:35.056792541 +0100
---- src/fileio.c	2014-04-02 13:39:28.983909367 +0200
-***************
-*** 4030,4036 ****
-  						)
-  			    mch_setperm(backup,
-  					  (perm & 0707) | ((perm & 07) << 3));
-! # ifdef HAVE_SELINUX
-  			mch_copy_sec(fname, backup);
-  # endif
-  #endif
---- 4030,4036 ----
-  						)
-  			    mch_setperm(backup,
-  					  (perm & 0707) | ((perm & 07) << 3));
-! # if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
-  			mch_copy_sec(fname, backup);
-  # endif
-  #endif
-***************
-*** 4069,4075 ****
-  #ifdef HAVE_ACL
-  			mch_set_acl(backup, acl);
-  #endif
-! #ifdef HAVE_SELINUX
-  			mch_copy_sec(fname, backup);
-  #endif
-  			break;
---- 4069,4075 ----
-  #ifdef HAVE_ACL
-  			mch_set_acl(backup, acl);
-  #endif
-! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
-  			mch_copy_sec(fname, backup);
-  #endif
-  			break;
-***************
-*** 4718,4724 ****
-      }
-  #endif
-  
-! #ifdef HAVE_SELINUX
-      /* Probably need to set the security context. */
-      if (!backup_copy)
-  	mch_copy_sec(backup, wfname);
---- 4718,4724 ----
-      }
-  #endif
-  
-! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
-      /* Probably need to set the security context. */
-      if (!backup_copy)
-  	mch_copy_sec(backup, wfname);
-***************
-*** 6707,6713 ****
-      mch_set_acl(to, acl);
-      mch_free_acl(acl);
-  #endif
-! #ifdef HAVE_SELINUX
-      mch_copy_sec(from, to);
-  #endif
-      if (errmsg != NULL)
---- 6707,6713 ----
-      mch_set_acl(to, acl);
-      mch_free_acl(acl);
-  #endif
-! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
-      mch_copy_sec(from, to);
-  #endif
-      if (errmsg != NULL)
-*** ../vim-7.4.237/src/memfile.c	2013-05-23 22:22:22.000000000 +0200
---- src/memfile.c	2014-04-02 13:37:41.103910851 +0200
-***************
-*** 1358,1364 ****
-  	if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
-  	    fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC);
-  #endif
-! #ifdef HAVE_SELINUX
-  	mch_copy_sec(fname, mfp->mf_fname);
-  #endif
-  	mch_hide(mfp->mf_fname);    /* try setting the 'hidden' flag */
---- 1358,1364 ----
-  	if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
-  	    fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC);
-  #endif
-! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
-  	mch_copy_sec(fname, mfp->mf_fname);
-  #endif
-  	mch_hide(mfp->mf_fname);    /* try setting the 'hidden' flag */
-*** ../vim-7.4.237/src/os_unix.c	2014-04-01 21:00:45.436733663 +0200
---- src/os_unix.c	2014-04-02 13:58:55.427893322 +0200
-***************
-*** 46,51 ****
---- 46,59 ----
-  static int selinux_enabled = -1;
-  #endif
-  
-+ #ifdef HAVE_SMACK
-+ # include <attr/xattr.h>
-+ # include <linux/xattr.h>
-+ # ifndef SMACK_LABEL_LEN
-+ #  define SMACK_LABEL_LEN 1024
-+ # endif
-+ #endif
-+ 
-  /*
-   * Use this prototype for select, some include files have a wrong prototype
-   */
-***************
-*** 2798,2803 ****
---- 2806,2895 ----
-  }
-  #endif /* HAVE_SELINUX */
-  
-+ #if defined(HAVE_SMACK) && !defined(PROTO)
-+ /*
-+  * Copy security info from "from_file" to "to_file".
-+  */
-+     void
-+ mch_copy_sec(from_file, to_file)
-+     char_u	*from_file;
-+     char_u	*to_file;
-+ {
-+     static const char const *smack_copied_attributes[] =
-+ 	{
-+ 	    XATTR_NAME_SMACK,
-+ 	    XATTR_NAME_SMACKEXEC,
-+ 	    XATTR_NAME_SMACKMMAP
-+ 	};
-+ 
-+     char	buffer[SMACK_LABEL_LEN];
-+     const char	*name;
-+     int		index;
-+     int		ret;
-+     ssize_t	size;
-+ 
-+     if (from_file == NULL)
-+ 	return;
-+ 
-+     for (index = 0 ; index < (int)(sizeof(smack_copied_attributes)
-+ 			      / sizeof(smack_copied_attributes)[0]) ; index++)
-+     {
-+ 	/* get the name of the attribute to copy */
-+ 	name = smack_copied_attributes[index];
-+ 
-+ 	/* get the value of the attribute in buffer */
-+ 	size = getxattr((char*)from_file, name, buffer, sizeof(buffer));
-+ 	if (size >= 0)
-+ 	{
-+ 	    /* copy the attribute value of buffer */
-+ 	    ret = setxattr((char*)to_file, name, buffer, (size_t)size, 0);
-+ 	    if (ret < 0)
-+ 	    {
-+ 		MSG_PUTS(_("Could not set security context "));
-+ 		MSG_PUTS(name);
-+ 		MSG_PUTS(_(" for "));
-+ 		msg_outtrans(to_file);
-+ 		msg_putchar('\n');
-+ 	    }
-+ 	}
-+ 	else
-+ 	{
-+ 	    /* what reason of not having the attribute value? */
-+ 	    switch (errno)
-+ 	    {
-+ 		case ENOTSUP:
-+ 		    /* extended attributes aren't supported or enabled */
-+ 		    /* should a message be echoed? not sure... */
-+ 		    return; /* leave because it isn't usefull to continue */
-+ 
-+ 		case ERANGE:
-+ 		default:
-+ 		    /* no enough size OR unexpected error */
-+ 		    MSG_PUTS(_("Could not get security context "));
-+ 		    MSG_PUTS(name);
-+ 		    MSG_PUTS(_(" for "));
-+ 		    msg_outtrans(from_file);
-+ 		    MSG_PUTS(_(". Removing it!\n"));
-+ 		    /* FALLTHROUGH to remove the attribute */
-+ 
-+ 		case ENODATA:
-+ 		    /* no attribute of this name */
-+ 		    ret = removexattr((char*)to_file, name);
-+ 		    if (ret < 0 && errno != ENODATA)
-+ 		    {
-+ 			MSG_PUTS(_("Could not remove security context "));
-+ 			MSG_PUTS(name);
-+ 			MSG_PUTS(_(" for "));
-+ 			msg_outtrans(to_file);
-+ 			msg_putchar('\n');
-+ 		    }
-+ 		    break;
-+ 	    }
-+ 	}
-+     }
-+ }
-+ #endif /* HAVE_SMACK */
-+ 
-  /*
-   * Return a pointer to the ACL of file "fname" in allocated memory.
-   * Return NULL if the ACL is not available for whatever reason.
-*** ../vim-7.4.237/src/undo.c	2014-03-23 15:12:29.943264337 +0100
---- src/undo.c	2014-04-02 13:42:15.387907078 +0200
-***************
-*** 1455,1461 ****
-  # endif
-         )
-  	mch_setperm(file_name, (perm & 0707) | ((perm & 07) << 3));
-! # ifdef HAVE_SELINUX
-      if (buf->b_ffname != NULL)
-  	mch_copy_sec(buf->b_ffname, file_name);
-  # endif
---- 1455,1461 ----
-  # endif
-         )
-  	mch_setperm(file_name, (perm & 0707) | ((perm & 07) << 3));
-! # if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
-      if (buf->b_ffname != NULL)
-  	mch_copy_sec(buf->b_ffname, file_name);
-  # endif
-*** ../vim-7.4.237/src/auto/configure	2014-03-27 18:51:06.612760919 +0100
---- src/auto/configure	2014-04-02 13:50:11.375900531 +0200
-***************
-*** 782,787 ****
---- 782,788 ----
-  with_view_name
-  with_global_runtime
-  with_modified_by
-+ enable_smack
-  enable_selinux
-  with_features
-  with_compiledby
-***************
-*** 1453,1459 ****
-    --enable-fail-if-missing    Fail if dependencies on additional features
-       specified on the command line are missing.
-    --disable-darwin        Disable Darwin (Mac OS X) support.
-!   --disable-selinux	  Don't check for SELinux support.
-    --disable-xsmp          Disable XSMP session management
-    --disable-xsmp-interact Disable XSMP interaction
-    --enable-luainterp=OPTS     Include Lua interpreter.  default=no OPTS=no/yes/dynamic
---- 1454,1461 ----
-    --enable-fail-if-missing    Fail if dependencies on additional features
-       specified on the command line are missing.
-    --disable-darwin        Disable Darwin (Mac OS X) support.
-!   --disable-smack	  Do not check for Smack support.
-!   --disable-selinux	  Do not check for SELinux support.
-    --disable-xsmp          Disable XSMP session management
-    --disable-xsmp-interact Disable XSMP interaction
-    --enable-luainterp=OPTS     Include Lua interpreter.  default=no OPTS=no/yes/dynamic
-***************
-*** 4588,4606 ****
-  
-  
-  
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
-  $as_echo_n "checking --disable-selinux argument... " >&6; }
-! # Check whether --enable-selinux was given.
-  if test "${enable_selinux+set}" = set; then :
-    enableval=$enable_selinux;
-  else
-    enable_selinux="yes"
-  fi
-  
-! if test "$enable_selinux" = "yes"; then
-!   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-  $as_echo "no" >&6; }
-!   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
-  $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
-  if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
-    $as_echo_n "(cached) " >&6
---- 4590,4679 ----
-  
-  
-  
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-smack argument" >&5
-! $as_echo_n "checking --disable-smack argument... " >&6; }
-! # Check whether --enable-smack was given.
-! if test "${enable_smack+set}" = set; then :
-!   enableval=$enable_smack;
-! else
-!   enable_smack="yes"
-! fi
-! 
-! if test "$enable_smack" = "yes"; then
-!   ac_fn_c_check_header_mongrel "$LINENO" "linux/xattr.h" "ac_cv_header_linux_xattr_h" "$ac_includes_default"
-! if test "x$ac_cv_header_linux_xattr_h" = xyes; then :
-!   true
-! else
-!   enable_smack="no"
-! fi
-! 
-! 
-! fi
-! if test "$enable_smack" = "yes"; then
-!   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-! $as_echo "no" >&6; }
-!   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for llistxattr in -lattr" >&5
-! $as_echo_n "checking for llistxattr in -lattr... " >&6; }
-! if ${ac_cv_lib_attr_llistxattr+:} false; then :
-!   $as_echo_n "(cached) " >&6
-! else
-!   ac_check_lib_save_LIBS=$LIBS
-! LIBS="-lattr  $LIBS"
-! cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-! /* end confdefs.h.  */
-! 
-! /* Override any GCC internal prototype to avoid an error.
-!    Use char because int might match the return type of a GCC
-!    builtin and then its argument prototype would still apply.  */
-! #ifdef __cplusplus
-! extern "C"
-! #endif
-! char llistxattr ();
-! int
-! main ()
-! {
-! return llistxattr ();
-!   ;
-!   return 0;
-! }
-! _ACEOF
-! if ac_fn_c_try_link "$LINENO"; then :
-!   ac_cv_lib_attr_llistxattr=yes
-! else
-!   ac_cv_lib_attr_llistxattr=no
-! fi
-! rm -f core conftest.err conftest.$ac_objext \
-!     conftest$ac_exeext conftest.$ac_ext
-! LIBS=$ac_check_lib_save_LIBS
-! fi
-! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_llistxattr" >&5
-! $as_echo "$ac_cv_lib_attr_llistxattr" >&6; }
-! if test "x$ac_cv_lib_attr_llistxattr" = xyes; then :
-!   LIBS="$LIBS -lattr"
-! 	   found_smack="yes"
-! 	   $as_echo "#define HAVE_SMACK 1" >>confdefs.h
-! 
-! fi
-! 
-! else
-!    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-! $as_echo "yes" >&6; }
-! fi
-! 
-! if test "x$found_smack" = "x"; then
-!     { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
-  $as_echo_n "checking --disable-selinux argument... " >&6; }
-!   # Check whether --enable-selinux was given.
-  if test "${enable_selinux+set}" = set; then :
-    enableval=$enable_selinux;
-  else
-    enable_selinux="yes"
-  fi
-  
-!   if test "$enable_selinux" = "yes"; then
-!     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-  $as_echo "no" >&6; }
-!     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
-  $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
-  if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
-    $as_echo_n "(cached) " >&6
-***************
-*** 4638,4650 ****
-  $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
-  if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
-    LIBS="$LIBS -lselinux"
-! 	   $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
-  
-  fi
-  
-! else
-!    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-  $as_echo "yes" >&6; }
-  fi
-  
-  
---- 4711,4724 ----
-  $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
-  if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
-    LIBS="$LIBS -lselinux"
-! 	     $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
-  
-  fi
-  
-!   else
-!      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-  $as_echo "yes" >&6; }
-+   fi
-  fi
-  
-  
-*** ../vim-7.4.237/src/version.c	2014-04-02 12:12:04.163981514 +0200
---- src/version.c	2014-04-02 13:38:22.511910282 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     238,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-25. You believe nothing looks sexier than a man in boxer shorts illuminated
-    only by a 17" inch svga monitor.
-
- /// 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    ///
diff --git a/7.4.239 b/7.4.239
deleted file mode 100644
index 5943d69..0000000
--- a/7.4.239
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.239
-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.239
-Problem:    ":e +" does not position cursor at end of the file.
-Solution:   Check for "+" being the last character (ZyX)
-Files:	    src/ex_docmd.c
-
-
-*** ../vim-7.4.238/src/ex_docmd.c	2014-04-01 18:54:44.312837673 +0200
---- src/ex_docmd.c	2014-04-02 14:18:02.247877546 +0200
-***************
-*** 4841,4847 ****
-      if (*arg == '+')	    /* +[command] */
-      {
-  	++arg;
-! 	if (vim_isspace(*arg))
-  	    command = dollar_command;
-  	else
-  	{
---- 4841,4847 ----
-      if (*arg == '+')	    /* +[command] */
-      {
-  	++arg;
-! 	if (vim_isspace(*arg) || *arg == NUL)
-  	    command = dollar_command;
-  	else
-  	{
-*** ../vim-7.4.238/src/version.c	2014-04-02 14:05:34.003887839 +0200
---- src/version.c	2014-04-02 14:17:40.923877840 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     239,
-  /**/
-
--- 
-Q: What is the difference betwee open-source and commercial software?
-A: If you have a problem with commercial software you can call a phone
-   number and they will tell you it might be solved in a future version.
-   For open-source software there isn't a phone number to call, but you
-   get the solution within 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    ///
diff --git a/7.4.240 b/7.4.240
deleted file mode 100644
index e51e2e6..0000000
--- a/7.4.240
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.240
-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.240
-Problem:    ":tjump" shows "\n" as "\\n".
-Solution:   Skip over "\" that escapes a backslash. (Gary Johnson)
-Files:	    src/tag.c
-
-
-*** ../vim-7.4.239/src/tag.c	2013-11-28 14:36:24.000000000 +0100
---- src/tag.c	2014-04-02 17:14:27.087731943 +0200
-***************
-*** 741,748 ****
-  			    break;
-  			msg_advance(15);
-  
-! 			/* skip backslash used for escaping command char */
-! 			if (*p == '\\' && *(p + 1) == *tagp.command)
-  			    ++p;
-  
-  			if (*p == TAB)
---- 741,750 ----
-  			    break;
-  			msg_advance(15);
-  
-! 			/* skip backslash used for escaping a command char or
-! 			 * a backslash */
-! 			if (*p == '\\' && (*(p + 1) == *tagp.command
-! 				        || *(p + 1) == '\\'))
-  			    ++p;
-  
-  			if (*p == TAB)
-*** ../vim-7.4.239/src/version.c	2014-04-02 14:22:00.123874274 +0200
---- src/version.c	2014-04-02 17:15:26.395731128 +0200
-***************
-*** 736,737 ****
---- 736,739 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     240,
-  /**/
-
--- 
-Anyone who is capable of getting themselves made President should on no
-account be allowed to do the job.
-		-- 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    ///
diff --git a/7.4.241 b/7.4.241
deleted file mode 100644
index c7805c4..0000000
--- a/7.4.241
+++ /dev/null
@@ -1,386 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.4.241
-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.241
-Problem:    The string returned by submatch() does not distinguish between a
-	    NL from a line break and a NL that stands for a NUL character.
-Solution:   Add a second argument to return a list. (ZyX)
-Files:	    runtime/doc/eval.txt, src/eval.c, src/proto/regexp.pro,
-	    src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
-	    src/testdir/test80.in, src/testdir/test80.ok
-
-
-*** ../vim-7.4.240/runtime/doc/eval.txt	2014-04-02 12:12:04.151981514 +0200
---- runtime/doc/eval.txt	2014-04-02 17:56:51.163696948 +0200
-***************
-*** 1989,1995 ****
-  				Number	last index of {needle} in {haystack}
-  strtrans( {expr})		String	translate string to make it printable
-  strwidth( {expr})		Number	display cell length of the String {expr}
-! submatch( {nr})			String	specific match in ":s" or substitute()
-  substitute( {expr}, {pat}, {sub}, {flags})
-  				String	all {pat} in {expr} replaced with {sub}
-  synID( {lnum}, {col}, {trans})	Number	syntax ID at {lnum} and {col}
---- 1990,1997 ----
-  				Number	last index of {needle} in {haystack}
-  strtrans( {expr})		String	translate string to make it printable
-  strwidth( {expr})		Number	display cell length of the String {expr}
-! submatch( {nr}[, {list}])	String or List
-! 					specific match in ":s" or substitute()
-  substitute( {expr}, {pat}, {sub}, {flags})
-  				String	all {pat} in {expr} replaced with {sub}
-  synID( {lnum}, {col}, {trans})	Number	syntax ID at {lnum} and {col}
-***************
-*** 5784,5795 ****
-  		Ambiguous, this function's return value depends on 'ambiwidth'.
-  		Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
-  
-! submatch({nr})						*submatch()*
-  		Only for an expression in a |:substitute| command or
-  		substitute() function.
-  		Returns the {nr}'th submatch of the matched text.  When {nr}
-  		is 0 the whole matched text is returned.
-  		Also see |sub-replace-expression|.
-  		Example: >
-  			:s/\d\+/\=submatch(0) + 1/
-  <		This finds the first number in the line and adds one to it.
---- 5798,5820 ----
-  		Ambiguous, this function's return value depends on 'ambiwidth'.
-  		Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
-  
-! submatch({nr}[, {list}])				*submatch()*
-  		Only for an expression in a |:substitute| command or
-  		substitute() function.
-  		Returns the {nr}'th submatch of the matched text.  When {nr}
-  		is 0 the whole matched text is returned.
-+ 		Note that a NL in the string can stand for a line break of a
-+ 		multi-line match or a NUL character in the text.
-  		Also see |sub-replace-expression|.
-+ 
-+ 		If {list} is present and non-zero then submatch() returns 
-+ 		a list of strings, similar to |getline()| with two arguments. 
-+ 		NL characters in the text represent NUL characters in the
-+ 		text.
-+ 		Only returns more than one item for |:substitute|, inside
-+ 		|substitute()| this list will always contain one or zero
-+ 		items, since there are no real line breaks.
-+ 
-  		Example: >
-  			:s/\d\+/\=submatch(0) + 1/
-  <		This finds the first number in the line and adds one to it.
-*** ../vim-7.4.240/src/eval.c	2014-04-02 12:12:04.159981514 +0200
---- src/eval.c	2014-04-02 18:16:33.011680690 +0200
-***************
-*** 8129,8135 ****
-      {"strridx",		2, 3, f_strridx},
-      {"strtrans",	1, 1, f_strtrans},
-      {"strwidth",	1, 1, f_strwidth},
-!     {"submatch",	1, 1, f_submatch},
-      {"substitute",	4, 4, f_substitute},
-      {"synID",		3, 3, f_synID},
-      {"synIDattr",	2, 3, f_synIDattr},
---- 8129,8135 ----
-      {"strridx",		2, 3, f_strridx},
-      {"strtrans",	1, 1, f_strtrans},
-      {"strwidth",	1, 1, f_strwidth},
-!     {"submatch",	1, 2, f_submatch},
-      {"substitute",	4, 4, f_substitute},
-      {"synID",		3, 3, f_synID},
-      {"synIDattr",	2, 3, f_synIDattr},
-***************
-*** 17890,17898 ****
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-!     rettv->v_type = VAR_STRING;
-!     rettv->vval.v_string =
-! 		    reg_submatch((int)get_tv_number_chk(&argvars[0], NULL));
-  }
-  
-  /*
---- 17890,17921 ----
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-!     int		error = FALSE;
-!     char_u	**match;
-!     char_u	**s;
-!     listitem_T	*li;
-!     int		no;
-!     int		retList = 0;
-! 
-!     no = (int)get_tv_number_chk(&argvars[0], &error);
-!     if (error)
-! 	return;
-!     error = FALSE;
-!     if (argvars[1].v_type != VAR_UNKNOWN)
-! 	retList = get_tv_number_chk(&argvars[1], &error);
-!     if (error)
-! 	return;
-! 
-!     if (retList == 0)
-!     {
-! 	rettv->v_type = VAR_STRING;
-! 	rettv->vval.v_string = reg_submatch(no);
-!     }
-!     else
-!     {
-! 	rettv->v_type = VAR_LIST;
-! 	rettv->vval.v_list = reg_submatch_list(no);
-!     }
-  }
-  
-  /*
-*** ../vim-7.4.240/src/proto/regexp.pro	2013-08-10 13:37:24.000000000 +0200
---- src/proto/regexp.pro	2014-04-02 18:19:12.415678498 +0200
-***************
-*** 10,15 ****
---- 10,16 ----
-  int vim_regsub __ARGS((regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash));
-  int vim_regsub_multi __ARGS((regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash));
-  char_u *reg_submatch __ARGS((int no));
-+ list_T *reg_submatch_list __ARGS((int no));
-  regprog_T *vim_regcomp __ARGS((char_u *expr_arg, int re_flags));
-  void vim_regfree __ARGS((regprog_T *prog));
-  int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
-*** ../vim-7.4.240/src/regexp.c	2014-03-23 15:12:29.931264336 +0100
---- src/regexp.c	2014-04-02 18:59:34.431645181 +0200
-***************
-*** 7897,7902 ****
---- 7897,7981 ----
-  
-      return retval;
-  }
-+ 
-+ /*
-+  * Used for the submatch() function with the optional non-zero argument: get
-+  * the list of strings from the n'th submatch in allocated memory with NULs
-+  * represented in NLs.
-+  * Returns a list of allocated strings.  Returns NULL when not in a ":s"
-+  * command, for a non-existing submatch and for any error.
-+  */
-+     list_T *
-+ reg_submatch_list(no)
-+     int		no;
-+ {
-+     char_u	*s;
-+     linenr_T	slnum;
-+     linenr_T	elnum;
-+     colnr_T	scol;
-+     colnr_T	ecol;
-+     int		i;
-+     list_T	*list;
-+     int		error = FALSE;
-+ 
-+     if (!can_f_submatch || no < 0)
-+ 	return NULL;
-+ 
-+     if (submatch_match == NULL)
-+     {
-+ 	slnum = submatch_mmatch->startpos[no].lnum;
-+ 	elnum = submatch_mmatch->endpos[no].lnum;
-+ 	if (slnum < 0 || elnum < 0)
-+ 	    return NULL;
-+ 
-+ 	scol = submatch_mmatch->startpos[no].col;
-+ 	ecol = submatch_mmatch->endpos[no].col;
-+ 
-+ 	list = list_alloc();
-+ 	if (list == NULL)
-+ 	    return NULL;
-+ 
-+ 	s = reg_getline_submatch(slnum) + scol;
-+ 	if (slnum == elnum)
-+ 	{
-+ 	    if (list_append_string(list, s, ecol - scol) == FAIL)
-+ 		error = TRUE;
-+ 	}
-+ 	else
-+ 	{
-+ 	    if (list_append_string(list, s, -1) == FAIL)
-+ 		error = TRUE;
-+ 	    for (i = 1; i < elnum - slnum; i++)
-+ 	    {
-+ 		s = reg_getline_submatch(slnum + i);
-+ 		if (list_append_string(list, s, -1) == FAIL)
-+ 		    error = TRUE;
-+ 	    }
-+ 	    s = reg_getline_submatch(elnum);
-+ 	    if (list_append_string(list, s, ecol) == FAIL)
-+ 		error = TRUE;
-+ 	}
-+     }
-+     else
-+     {
-+ 	s = submatch_match->startp[no];
-+ 	if (s == NULL || submatch_match->endp[no] == NULL)
-+ 	    return NULL;
-+ 	list = list_alloc();
-+ 	if (list == NULL)
-+ 	    return NULL;
-+ 	if (list_append_string(list, s,
-+ 				 (int)(submatch_match->endp[no] - s)) == FAIL)
-+ 	    error = TRUE;
-+     }
-+ 
-+     if (error)
-+     {
-+ 	list_free(list, TRUE);
-+ 	return NULL;
-+     }
-+     return list;
-+ }
-  #endif
-  
-  static regengine_T bt_regengine =
-*** ../vim-7.4.240/src/testdir/test79.in	2013-04-13 11:16:38.000000000 +0200
---- src/testdir/test79.in	2014-04-02 17:51:01.807701753 +0200
-***************
-*** 181,190 ****
---- 181,192 ----
-  :set cpo&
-  /^TEST/
-  j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)/
-+ j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
-  ENDTEST
-  
-  TEST_5:
-  A123456789
-+ B123456789
-  
-  STARTTEST
-  :set magic&
-***************
-*** 209,214 ****
---- 211,219 ----
-  /^TEST_7/
-  j:s/A./\=submatch(0)/
-  j:s/B./\=submatch(0)/
-+ j:s/C./\=strtrans(string(submatch(0, 1)))/
-+ j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/
-+ j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
-  /^Q$
-  :s/Q[^\n]Q/\=submatch(0)."foobar"/
-  :" Avoid :s error breaks dotest map on Windows.
-***************
-*** 217,226 ****
---- 222,240 ----
-  TEST_7:
-  A
A
-  B