From ad875fb7fff85d313fa35acde1afaec998d347d7 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 24 Jul 2013 15:02:03 +0200 Subject: updated for version 7.4a.041 Problem: When using ":new ++ff=unix" and "dos" is first in 'fileformats' then 'ff' is set to "dos" instead of "unix". (Ingo Karkat) Solution: Create set_file_options() and invoke it from do_ecmd(). --- src/ex_cmds.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/ex_cmds.c') diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 445b66fee..c08bb21cb 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3448,9 +3448,13 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin) curwin->w_buffer = buf; curbuf = buf; ++curbuf->b_nwindows; - /* set 'fileformat' */ - if (*p_ffs && !oldbuf) - set_fileformat(default_fileformat(), OPT_LOCAL); + + /* Set 'fileformat', 'binary' and 'fenc' when forced. */ + if (!oldbuf && eap != NULL) + { + set_file_options(TRUE, eap); + set_forced_fenc(eap); + } } /* May get the window options from the last time this buffer -- cgit v1.2.3