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 -- [email protected] -- 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 [email protected].
For more options, visit https://groups.google.com/d/optout.