mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 7.4.785
Problem: On some systems automatically adding the missing EOL causes problems. Setting 'binary' has too many side effects. Solution: Add the 'fixeol' option, default on. (Pavel Samarkin)
This commit is contained in:
10
src/fileio.c
10
src/fileio.c
@@ -2623,10 +2623,10 @@ failed:
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Trick: We remember if the last line of the read didn't have
|
||||
* an eol even when 'binary' is off, for when writing it again with
|
||||
* 'binary' on. This is required for
|
||||
* ":autocmd FileReadPost *.gz set bin|'[,']!gunzip" to work.
|
||||
* We remember if the last line of the read didn't have
|
||||
* an eol even when 'binary' is off, to support turning 'fixeol' off,
|
||||
* or writing the read again with 'binary' on. The latter is required
|
||||
* for ":autocmd FileReadPost *.gz set bin|'[,']!gunzip" to work.
|
||||
*/
|
||||
curbuf->b_no_eol_lnum = read_no_eol_lnum;
|
||||
|
||||
@@ -4547,7 +4547,7 @@ restore_backup:
|
||||
/* write failed or last line has no EOL: stop here */
|
||||
if (end == 0
|
||||
|| (lnum == end
|
||||
&& write_bin
|
||||
&& (write_bin || !buf->b_p_fixeol)
|
||||
&& (lnum == buf->b_no_eol_lnum
|
||||
|| (lnum == buf->b_ml.ml_line_count && !buf->b_p_eol))))
|
||||
{
|
||||
|
Reference in New Issue
Block a user