vim-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)

34d72d4b6c
This commit is contained in:
Johan Klokkhammer Helsing
2015-10-08 20:17:25 +02:00
parent 1fbb56795d
commit a86d4b323e
16 changed files with 111 additions and 25 deletions

View File

@@ -1934,10 +1934,10 @@ failed:
check_marks_read();
/*
* 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;
@@ -3322,7 +3322,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)))) {
++lnum; /* written the line, count it */