Mike Williams wrote: > On 11/10/2016 20:06, Bram Moolenaar wrote: > > Mike Williams wrote: > > > >> I imagine this is pretty obscure but I have hit it a couple of times > >> this last week. If your fileformats string initial entry is different > >> to the fileformat default value then doing :bwipeout on the last buffer > >> results in the new buffer using the default fileformat and not the first > >> format from fileformats. Follow? Try the following on Windows: > >> > >> > vim -u NONE -U NONE --cmd 'set ffs=unix' -c 'set ff? | bw | set ff?' > >> > >> Prefer Unix? This shows the same effect: > >> > >> $ vim -u NONE -U NONE --cmd 'set ffs=dos' -c 'set ff? | bw | set ff?' > >> > >> You should see the fileformat change across the bwipeout. > >> > >> Attached is a patch that sets the new buffer's fileformat from an > >> existing fileformats in buf_copy_options() or the global default > >> fileformat if ffs is not set. It Works For Me(TM) but I don't know if > >> the side effects in set_fileformat() cause problems when called from > >> buf_copy_options(). > > > > When using ":new" it does set the expected value. This happens in > > do_ecmd(), by calling set_file_options(). We could do the same in > > buf_copy_options(). > > New diff with just a call to set_file_options() added. Still working ok > for me. > > > Can you please add a test? > > New style test is included. The double bwipeout is needed to show the > original issue and change in behaviour. Test should work on dos, unix, > and mac - tested on linux apparently ok, tests hang on windows for me > still tracking down why, and not tested on mac.
Thanks. I'll include it. I'll add the test to test_alot, it's a bit more efficient. I see several tests fail. I can fix it this way: if (*p_ffs == NUL) buf->b_p_ff = vim_strsave(p_ff); else set_file_options(TRUE, NULL); buf->b_start_ffc = *buf->b_p_ff; Hmm, test67 still hangs, other tests fail. Ah, the test input was changed by a previous failure. I'll fix that in another patch. -- I wonder, do vegetarians eat fruit bats? /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.