diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 4d561f2580e47e4ae6eb7a4836b4c3f0fe76fea9..0639b5633df34dc2af6f79c49922ab4aded91fac 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2005 May 18 +" Last Change: 2005 May 20 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -528,6 +528,9 @@ au BufNewFile,BufRead *esmtprc setf esmtprc " ESQL-C au BufNewFile,BufRead *.ec,*.EC setf esqlc +" Esterel +au BufNewFile,BufRead *.strl setf esterel + " Essbase script au BufNewFile,BufRead *.csc setf csc diff --git a/src/edit.c b/src/edit.c index 42b459d382c5ecdb606840ba3c8e8f21b58b93e4..bce0d83afce22cfdaea0cc49a31b64ac3ae7d2e2 100644 --- 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();