Patch 8.1.0812
Problem:    Unicode 16 feature is not useful and cannot be detected.
Solution:   Remove UNICODE16.
Files:      src/screen.c, src/vim.h, src/feature.h


*** ../vim-8.1.0811/src/screen.c        2019-01-24 16:38:58.280712420 +0100
--- src/screen.c        2019-01-24 18:18:34.825156995 +0100
***************
*** 2515,2526 ****
                        prev_c = u8c;
  #endif
                    /* Non-BMP character: display as ? or fullwidth ?. */
! #ifdef UNICODE16
!                   if (u8c >= 0x10000)
!                       ScreenLinesUC[idx] = (cells == 2) ? 0xff1f : (int)'?';
!                   else
! #endif
!                       ScreenLinesUC[idx] = u8c;
                    for (i = 0; i < Screen_mco; ++i)
                    {
                        ScreenLinesC[i][idx] = u8cc[i];
--- 2515,2521 ----
                        prev_c = u8c;
  #endif
                    /* Non-BMP character: display as ? or fullwidth ?. */
!                   ScreenLinesUC[idx] = u8c;
                    for (i = 0; i < Screen_mco; ++i)
                    {
                        ScreenLinesC[i][idx] = u8cc[i];
***************
*** 4482,4515 ****
  
                    if ((mb_l == 1 && c >= 0x80)
                            || (mb_l >= 1 && mb_c == 0)
!                           || (mb_l > 1 && (!vim_isprintc(mb_c)
! # ifdef UNICODE16
!                                                        || mb_c >= 0x10000
! # endif
!                                                        )))
                    {
                        /*
                         * Illegal UTF-8 byte: display as <xx>.
                         * Non-BMP character : display as ? or fullwidth ?.
                         */
! # ifdef UNICODE16
!                       if (mb_c < 0x10000)
! # endif
!                       {
!                           transchar_hex(extra, mb_c);
  # ifdef FEAT_RIGHTLEFT
!                           if (wp->w_p_rl)             /* reverse */
!                               rl_mirror(extra);
! # endif
!                       }
! # ifdef UNICODE16
!                       else if (utf_char2cells(mb_c) != 2)
!                           STRCPY(extra, "?");
!                       else
!                           /* 0xff1f in UTF-8: full-width '?' */
!                           STRCPY(extra, "\357\274\237");
  # endif
- 
                        p_extra = extra;
                        c = *p_extra;
                        mb_c = mb_ptr2char_adv(&p_extra);
--- 4477,4493 ----
  
                    if ((mb_l == 1 && c >= 0x80)
                            || (mb_l >= 1 && mb_c == 0)
!                           || (mb_l > 1 && (!vim_isprintc(mb_c))))
                    {
                        /*
                         * Illegal UTF-8 byte: display as <xx>.
                         * Non-BMP character : display as ? or fullwidth ?.
                         */
!                       transchar_hex(extra, mb_c);
  # ifdef FEAT_RIGHTLEFT
!                       if (wp->w_p_rl)         /* reverse */
!                           rl_mirror(extra);
  # endif
                        p_extra = extra;
                        c = *p_extra;
                        mb_c = mb_ptr2char_adv(&p_extra);
***************
*** 7478,7492 ****
                else
                    u8c = utfc_ptr2char(ptr, u8cc);
                mbyte_cells = utf_char2cells(u8c);
- #ifdef UNICODE16
-               /* Non-BMP character: display as ? or fullwidth ?. */
-               if (u8c >= 0x10000)
-               {
-                   u8c = (mbyte_cells == 2) ? 0xff1f : (int)'?';
-                   if (attr == 0)
-                       attr = HL_ATTR(HLF_8);
-               }
- #endif
  #ifdef FEAT_ARABIC
                if (p_arshape && !p_tbidi && ARABIC_CHAR(u8c))
                {
--- 7456,7461 ----
*** ../vim-8.1.0811/src/vim.h   2019-01-24 17:59:35.131217488 +0100
--- src/vim.h   2019-01-24 18:17:37.049510290 +0100
***************
*** 431,445 ****
  
  /*
   * The u8char_T can hold one decoded UTF-8 character.
!  * We normally use 32 bits now, since some Asian characters don't fit in 16
!  * bits.  u8char_T is only used for displaying, it could be 16 bits to save
!  * memory.
   */
! #ifdef UNICODE16
! typedef unsigned short u8char_T;    /* short should be 16 bits */
! #else
! typedef unsigned int u8char_T;            /* int is 32 bits or more */
! #endif
  
  #ifndef UNIX              /* For Unix this is included in os_unix.h */
  # include <stdio.h>
--- 431,439 ----
  
  /*
   * The u8char_T can hold one decoded UTF-8 character.
!  * We use 32 bits, since some Asian characters don't fit in 16 bits.
   */
! typedef unsigned int u8char_T;        // int is 32 bits or more
  
  #ifndef UNIX              /* For Unix this is included in os_unix.h */
  # include <stdio.h>
*** ../vim-8.1.0811/src/feature.h       2019-01-24 17:59:35.131217488 +0100
--- src/feature.h       2019-01-24 18:18:45.677090411 +0100
***************
*** 601,610 ****
   *                    Now always enabled.
   */
  
- /* Define this if you want to use 16 bit Unicode only, reduces memory used for
-  * the screen structures. */
- /* #define UNICODE16 */
- 
  /*
   * +multi_byte_ime    Win32 IME input method.  Only for far-east Windows, so
   *                    IME can be used to input chars.  Not tested much!
--- 601,606 ----
*** ../vim-8.1.0811/src/version.c       2019-01-24 17:59:35.143217444 +0100
--- src/version.c       2019-01-24 18:19:43.044737328 +0100
***************
*** 789,790 ****
--- 789,792 ----
  {   /* Add new patch number below this line */
+ /**/
+     812,
  /**/

-- 
CONCORDE: Message for you, sir.
   He falls forward revealing the arrow with the note.
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

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

Raspunde prin e-mail lui