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.

Raspunde prin e-mail lui