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().
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 445b66f..c08bb21 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3448,9 +3448,13 @@
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