Hi,

I noticed a problem with the fileformats option not being applied to the initial buffer when VIM is started without any initial buffer content. I mainly work on Windows and have fileformats=unix,dos so the default file format to be unix line-endings. However VIM on Windows starts new empty initial buffers with dos line-endings but if I start a new buffer with :new or :e with the name of file that did not exist then the fileformat is set to unix line-endings.

The following patch applies fileformats to the initial buffer created by VIM. I have been using it for the last 9 months without any obvious issues. I have tested a couple of ways of feeding data into the initial buffer (such as C:> dir | vim -) and it does what I would expect. So can anyone see any issues with this patch?

diff --git a/src/option.c b/src/option.c
--- a/src/option.c
+++ b/src/option.c
@@ -3845,6 +3845,7 @@ term_bg_default(void)
     void
 set_init_3(void)
 {
+    int            idx_ffs;
 #if defined(UNIX) || defined(WIN3264)
 /*
  * Set 'shellpipe' and 'shellredir', depending on the 'shell' option.
@@ -4017,6 +4018,12 @@ set_init_3(void)
     }
 #endif

+    idx_ffs = findoption((char_u *)"ffs");
+    if (idx_ffs >= 0 && (options[idx_ffs].flags & P_WAS_SET))
+    {
+       set_fileformat(default_fileformat(), OPT_LOCAL);
+    }
+
 #ifdef FEAT_TITLE
     set_title_defaults();
 #endif


TTFN

Mike
--
Computer modellers simulate it first.

--
--
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.

Raspunde prin e-mail lui