diff src/edit.c @ 278:a7e59720a155

updated for version 7.0074
author vimboss
date Fri, 20 May 2005 21:27:20 +0000
parents 8fa8d7964cf1
children f9de3e679a04
line wrap: on
line diff
--- a/src/edit.c
+++ b/src/edit.c
@@ -6708,6 +6708,22 @@ ins_bs(c, mode, inserted_space_p)
 	    {
 		temp = gchar_cursor();	/* remember current char */
 		--curwin->w_cursor.lnum;
+
+		/* When "aw" is in 'formatoptions' we must delete the space at
+		 * the end of the line, otherwise the line will be broken
+		 * again when auto-formatting. */
+		if (has_format_option(FO_AUTO)
+					   && has_format_option(FO_WHITE_PAR))
+		{
+		    char_u  *ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum,
+									TRUE);
+		    int	    len;
+
+		    len = STRLEN(ptr);
+		    if (len > 0 && ptr[len - 1] == ' ')
+			ptr[len - 1] = NUL;
+		}
+
 		(void)do_join(FALSE);
 		if (temp == NUL && gchar_cursor() != NUL)
 		    inc_cursor();