To: vim_dev@googlegroups.com Subject: Patch 8.1.0812 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 . * 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 . * 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 --- 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 *** ../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 -- Bram@Moolenaar.net -- 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 ///