diff --git a/7.1.175 b/7.1.175
new file mode 100644
index 0000000..3ec00fd
--- /dev/null
+++ b/7.1.175
@@ -0,0 +1,179 @@
+To: vim-dev@vim.org
+Subject: Patch 7.1.175
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.175
+Problem:    <BS> doesn't work with some combination of 'sts', 'linebreak' and
+	    'backspace'. (Francois Ingelrest)
+Solution:   When adding white space results in not moving back delete one
+	    character.
+Files:	    src/edit.c
+
+
+*** ../vim-7.1.174/src/edit.c	Sat Nov 24 21:27:33 2007
+--- src/edit.c	Fri Dec  7 21:32:48 2007
+***************
+*** 8189,8194 ****
+--- 8189,8217 ----
+      AppendCharToRedobuff(K_DEL);
+  }
+  
++ static void ins_bs_one __ARGS((colnr_T *vcolp));
++ 
++ /*
++  * Delete one character for ins_bs().
++  */
++     static void
++ ins_bs_one(vcolp)
++     colnr_T	*vcolp;
++ {
++     dec_cursor();
++     getvcol(curwin, &curwin->w_cursor, vcolp, NULL, NULL);
++     if (State & REPLACE_FLAG)
++     {
++ 	/* Don't delete characters before the insert point when in
++ 	 * Replace mode */
++ 	if (curwin->w_cursor.lnum != Insstart.lnum
++ 		|| curwin->w_cursor.col >= Insstart.col)
++ 	    replace_do_bs();
++     }
++     else
++ 	(void)del_char(FALSE);
++ }
++ 
+  /*
+   * Handle Backspace, delete-word and delete-line in Insert mode.
+   * Return TRUE when backspace was actually used.
+***************
+*** 8418,8426 ****
+  	    int		ts;
+  	    colnr_T	vcol;
+  	    colnr_T	want_vcol;
+! #if 0
+! 	    int		extra = 0;
+! #endif
+  
+  	    *inserted_space_p = FALSE;
+  	    if (p_sta && in_indent)
+--- 8441,8447 ----
+  	    int		ts;
+  	    colnr_T	vcol;
+  	    colnr_T	want_vcol;
+! 	    colnr_T	start_vcol;
+  
+  	    *inserted_space_p = FALSE;
+  	    if (p_sta && in_indent)
+***************
+*** 8431,8436 ****
+--- 8452,8458 ----
+  	     * 'showbreak' may get in the way, need to get the last column of
+  	     * the previous character. */
+  	    getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
++ 	    start_vcol = vcol;
+  	    dec_cursor();
+  	    getvcol(curwin, &curwin->w_cursor, NULL, NULL, &want_vcol);
+  	    inc_cursor();
+***************
+*** 8439,8468 ****
+  	    /* delete characters until we are at or before want_vcol */
+  	    while (vcol > want_vcol
+  		    && (cc = *(ml_get_cursor() - 1), vim_iswhite(cc)))
+! 	    {
+! 		dec_cursor();
+! 		getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
+! 		if (State & REPLACE_FLAG)
+! 		{
+! 		    /* Don't delete characters before the insert point when in
+! 		     * Replace mode */
+! 		    if (curwin->w_cursor.lnum != Insstart.lnum
+! 			    || curwin->w_cursor.col >= Insstart.col)
+! 		    {
+! #if 0	/* what was this for?  It causes problems when sw != ts. */
+! 			if (State == REPLACE && (int)vcol < want_vcol)
+! 			{
+! 			    (void)del_char(FALSE);
+! 			    extra = 2;	/* don't pop too much */
+! 			}
+! 			else
+! #endif
+! 			    replace_do_bs();
+! 		    }
+! 		}
+! 		else
+! 		    (void)del_char(FALSE);
+! 	    }
+  
+  	    /* insert extra spaces until we are at want_vcol */
+  	    while (vcol < want_vcol)
+--- 8461,8467 ----
+  	    /* delete characters until we are at or before want_vcol */
+  	    while (vcol > want_vcol
+  		    && (cc = *(ml_get_cursor() - 1), vim_iswhite(cc)))
+! 		ins_bs_one(&vcol);
+  
+  	    /* insert extra spaces until we are at want_vcol */
+  	    while (vcol < want_vcol)
+***************
+*** 8479,8500 ****
+  #endif
+  		{
+  		    ins_str((char_u *)" ");
+! 		    if ((State & REPLACE_FLAG) /* && extra <= 1 */)
+! 		    {
+! #if 0
+! 			if (extra)
+! 			    replace_push_off(NUL);
+! 			else
+! #endif
+! 			    replace_push(NUL);
+! 		    }
+! #if 0
+! 		    if (extra == 2)
+! 			extra = 1;
+! #endif
+  		}
+  		getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
+  	    }
+  	}
+  
+  	/*
+--- 8478,8493 ----
+  #endif
+  		{
+  		    ins_str((char_u *)" ");
+! 		    if ((State & REPLACE_FLAG))
+! 			replace_push(NUL);
+  		}
+  		getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
+  	    }
++ 
++ 	    /* If we are now back where we started delete one character.  Can
++ 	     * happen when using 'sts' and 'linebreak'. */
++ 	    if (vcol >= start_vcol)
++ 		ins_bs_one(&vcol);
+  	}
+  
+  	/*
+*** ../vim-7.1.174/src/version.c	Sun Dec  9 19:37:37 2007
+--- src/version.c	Sun Dec  9 20:24:11 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     175,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+215. Your mouse-clicking forearm rivals Popeye's.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/README.patches b/README.patches
index 0a8deae..4c8f94e 100644
--- a/README.patches
+++ b/README.patches
@@ -188,3 +188,19 @@ Individual patches for Vim 7.1:
   1541  7.1.157  :" in Ex mode at end of file results in an error message
   4629  7.1.158  (extra) Win32: with utf-8 and cp1250 Alt-y is the wrong char
   1646  7.1.159  overlapping arguments for a strcpy()
+  1661  7.1.160  getting/losing focus may cause hit-enter prompt to be redrawn
+  4347  7.1.161  compilation errors with tiny features and EXITFREE
+  4691  7.1.162  crash when using a modifier before "while" or "for"
+  2367  7.1.163  warning for the unknown option 'bufsecret'
+  1576  7.1.164  reading past end of regexp pattern
+  5538  7.1.165  crash related to getting X window ID
+  2134  7.1.166  memory leak when using "gp" in Visual mode
+  2528  7.1.167  xxd crashes when using "xxd -b -c 110"
+  2989  7.1.168  (extra) Win32 GUI: when no focus click doesn't position cursor
+  1926  7.1.169  using uninitialized memory when system() fails
+  1722  7.1.170  overlapping arguments to strcpy()
+  2324  7.1.171  reading one byte before allocated memory.
+  1536  7.1.172  if 'buftype' is "acwrite" Vim still does overwrite check
+  1928  7.1.173  accessing freed memory when using "\%^" pattern
+  2197  7.1.174  writing NUL past end of a buffer
+  4722  7.1.175  <BS> doesn't work with some combination of option settings
diff --git a/vim.spec b/vim.spec
index 6df1bb2..9983d68 100644
--- a/vim.spec
+++ b/vim.spec
@@ -15,7 +15,7 @@
 #used for pre-releases:
 %define beta %{nil}
 %define vimdir vim71%{?beta}
-%define patchlevel 159
+%define patchlevel 175
 
 Summary: The VIM editor
 URL:     http://www.vim.org/
@@ -210,6 +210,22 @@ Patch156: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.156
 Patch157: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.157
 Patch158: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.158
 Patch159: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.159
+Patch160: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.160
+Patch161: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.161
+Patch162: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.162
+Patch163: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.163
+Patch164: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.164
+Patch165: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.165
+Patch166: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.166
+Patch167: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.167
+Patch168: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.168
+Patch169: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.169
+Patch170: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.170
+Patch171: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.171
+Patch172: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.172
+Patch173: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.173
+Patch174: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.174
+Patch175: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.175
 
 Patch3000: vim-7.0-syntax.patch
 Patch3002: vim-7.1-nowarnings.patch
@@ -501,6 +517,22 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
 %patch157 -p0
 %patch158 -p0
 %patch159 -p0
+%patch160 -p0
+%patch161 -p0
+%patch162 -p0
+%patch163 -p0
+%patch164 -p0
+%patch165 -p0
+%patch166 -p0
+%patch167 -p0
+%patch168 -p0
+%patch169 -p0
+%patch170 -p0
+%patch171 -p0
+%patch172 -p0
+%patch173 -p0
+%patch174 -p0
+%patch175 -p0
 
 
 # install spell files
@@ -887,6 +919,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/icons/hicolor/*/apps/*
 
 %changelog
+* Sat Dec 22 2007 Karsten Hopp <karsten@redhat.com> 7.1.%{nil}175-1
+- patchlevel 175
+
 * Thu Nov 22 2007 Karsten Hopp <karsten@redhat.com> 7.1.159-1
 - patchlevel 159
 - vim-enhanced requires which for vimtutor (#395371)