Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.1.261
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 7.1.261
Problem:    When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work
	    for UTF-16 text. (Tony Mechelynck)
Solution:   Default to UTF-16.
Files:	    src/fileio.c, src/testdir/test42.ok


*** ../vim-7.1.260/src/fileio.c	Fri Jan  4 16:30:40 2008
--- src/fileio.c	Wed Feb 20 11:22:10 2008
***************
*** 5514,5523 ****
      else if (p[0] == 0xfe && p[1] == 0xff
  	    && (flags == FIO_ALL || flags == FIO_UCS2 || flags == FIO_UTF16))
      {
! 	if (flags == FIO_UTF16)
! 	    name = "utf-16";	/* FE FF */
! 	else
  	    name = "ucs-2";	/* FE FF */
      }
      else if (size >= 4 && p[0] == 0 && p[1] == 0 && p[2] == 0xfe
  	    && p[3] == 0xff && (flags == FIO_ALL || flags == FIO_UCS4))
--- 5523,5533 ----
      else if (p[0] == 0xfe && p[1] == 0xff
  	    && (flags == FIO_ALL || flags == FIO_UCS2 || flags == FIO_UTF16))
      {
! 	/* Default to utf-16, it works also for ucs-2 text. */
! 	if (flags == FIO_UCS2)
  	    name = "ucs-2";	/* FE FF */
+ 	else
+ 	    name = "utf-16";	/* FE FF */
      }
      else if (size >= 4 && p[0] == 0 && p[1] == 0 && p[2] == 0xfe
  	    && p[3] == 0xff && (flags == FIO_ALL || flags == FIO_UCS4))
*** ../vim-7.1.260/src/testdir/test42.ok	Sun Jun 13 21:02:32 2004
--- src/testdir/test42.ok	Wed Feb 20 13:27:37 2008
***************
*** 15,21 ****
  utf-8€err
  
  
!   fileencoding=ucs-2
    bomb
  ucs-2
  
--- 15,21 ----
  utf-8€err
  
  
!   fileencoding=utf-16
    bomb
  ucs-2
  
*** ../vim-7.1.260/src/version.c	Wed Feb 20 14:58:46 2008
--- src/version.c	Wed Feb 20 18:13:00 2008
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     261,
  /**/

-- 
Seen it all, done it all, can't remember most of it.

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///