For a 2 byte BOM "FF FE", "ucs-2le" is used, which doesn't work for  
little-endian UTF-16 text. 
Like the patch 7.1.261, the only difference is the byte order.
And I have also writen a patch for Vim-7.2.025:

*** ../vim-7.2.025/src/fileio.c Wed Oct 15 15:09:56 2008
--- src/fileio.c        Sat Oct 18 11:42:25 2008
***************
*** 5550,5559 ****
            name = "ucs-4le";   /* FF FE 00 00 */
            len = 4;
        }
!       else if (flags == FIO_ALL || flags == (FIO_UCS2 | FIO_ENDIAN_L))
!           name = "ucs-2le";   /* FF FE */
!       else if (flags == (FIO_UTF16 | FIO_ENDIAN_L))
            name = "utf-16le";  /* FF FE */
      }
      else if (p[0] == 0xfe && p[1] == 0xff
            && (flags == FIO_ALL || flags == FIO_UCS2 || flags == FIO_UTF16))
--- 5550,5561 ----
            name = "ucs-4le";   /* FF FE 00 00 */
            len = 4;
        }
!       
/* For little endian: default to utf-16, it works also for ucs-2 text. */
!       else if (flags == FIO_ALL || flags == (FIO_UTF16 | FIO_ENDIAN_L))
            name = "utf-16le";  /* FF FE */
+       else if (flags == (FIO_UCS2 | FIO_ENDIAN_L))
+           name = "ucs-2le";   /* FF FE */
+ 
      }
      else if (p[0] == 0xfe && p[1] == 0xff
            && (flags == FIO_ALL || flags == FIO_UCS2 || flags == FIO_UTF16))
--
Best regards, 
Yanwei
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui