diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-01-24 18:20:17 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-01-24 18:20:17 +0100 |
commit | 9ba6117de6dc2993f8b42ccb9754c23694db2950 (patch) | |
tree | 1867b9c62e67ea48be78ad1d61e95e7fc0789a96 /src | |
parent | 30276f2beb248557c6b33cd5418bca8b7084b0a5 (diff) |
patch 8.1.0812: Unicode 16 feature is not usefulv8.1.0812
Problem: Unicode 16 feature is not useful and cannot be detected.
Solution: Remove UNICODE16.
Diffstat (limited to 'src')
-rw-r--r-- | src/feature.h | 4 | ||||
-rw-r--r-- | src/screen.c | 41 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim.h | 10 |
4 files changed, 9 insertions, 48 deletions
diff --git a/src/feature.h b/src/feature.h index 81b432db03..e2f9e2a004 100644 --- a/src/feature.h +++ b/src/feature.h @@ -601,10 +601,6 @@ * 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! diff --git a/src/screen.c b/src/screen.c index 95a739af0f..a80e8de65e 100644 --- a/src/screen.c +++ b/src/screen.c @@ -2515,12 +2515,7 @@ text_to_screenline(win_T *wp, char_u *text, int col) 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; + ScreenLinesUC[idx] = u8c; for (i = 0; i < Screen_mco; ++i) { ScreenLinesC[i][idx] = u8cc[i]; @@ -4482,34 +4477,17 @@ win_line( 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 - ))) + || (mb_l > 1 && (!vim_isprintc(mb_c)))) { /* * 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); + 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"); + if (wp->w_p_rl) /* reverse */ + rl_mirror(extra); # endif - p_extra = extra; c = *p_extra; mb_c = mb_ptr2char_adv(&p_extra); @@ -7478,15 +7456,6 @@ screen_puts_len( 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)) { diff --git a/src/version.c b/src/version.c index c472ece2c7..111464169a 100644 --- a/src/version.c +++ b/src/version.c @@ -788,6 +788,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 812, +/**/ 811, /**/ 810, @@ -431,15 +431,9 @@ typedef unsigned short sattr_T; /* * 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. + * We use 32 bits, since some Asian characters don't fit in 16 bits. */ -#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 +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> |