diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-01-23 21:31:09 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-01-23 21:31:09 +0100 |
commit | 7a2699e868bca781e26b060a44fc714d87cfa4ba (patch) | |
tree | ed571f2069e7687514658cbad2c40f3984ec09bd /src/fileio.c | |
parent | fffbf308dd98d1129ba4914d921ab47dc6a6c9b1 (diff) |
patch 8.0.0224: change to 'fileformats' from autocmd does not take effectv8.0.0224
Problem: When 'fileformats' is changed in a BufReadPre auto command, it
does not take effect in readfile(). (Gary Johnson)
Solution: Check the value of 'fileformats' after executing auto commands.
(Christian Brabandt)
Diffstat (limited to 'src/fileio.c')
-rw-r--r-- | src/fileio.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c index aeb53b593d..39e356f88e 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -274,9 +274,9 @@ readfile( int msg_save = msg_scroll; linenr_T read_no_eol_lnum = 0; /* non-zero lnum when last line of * last read was missing the eol */ - int try_mac = (vim_strchr(p_ffs, 'm') != NULL); - int try_dos = (vim_strchr(p_ffs, 'd') != NULL); - int try_unix = (vim_strchr(p_ffs, 'x') != NULL); + int try_mac; + int try_dos; + int try_unix; int file_rewind = FALSE; #ifdef FEAT_MBYTE int can_retry; @@ -738,6 +738,10 @@ readfile( curbuf->b_op_start.lnum = ((from == 0) ? 1 : from); curbuf->b_op_start.col = 0; + try_mac = (vim_strchr(p_ffs, 'm') != NULL); + try_dos = (vim_strchr(p_ffs, 'd') != NULL); + try_unix = (vim_strchr(p_ffs, 'x') != NULL); + #ifdef FEAT_AUTOCMD if (!read_buffer) { @@ -769,6 +773,11 @@ readfile( else apply_autocmds_exarg(EVENT_FILEREADPRE, sfname, sfname, FALSE, NULL, eap); + /* autocommands may have changed it */ + try_mac = (vim_strchr(p_ffs, 'm') != NULL); + try_dos = (vim_strchr(p_ffs, 'd') != NULL); + try_unix = (vim_strchr(p_ffs, 'x') != NULL); + if (msg_scrolled == n) msg_scroll = m; |