0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.1.0812: Unicode 16 feature is not useful

Problem:    Unicode 16 feature is not useful and cannot be detected.
Solution:   Remove UNICODE16.
This commit is contained in:
Bram Moolenaar
2019-01-24 18:20:17 +01:00
parent 30276f2beb
commit 9ba6117de6
4 changed files with 9 additions and 48 deletions

View File

@@ -601,10 +601,6 @@
* Now always enabled. * 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 * +multi_byte_ime Win32 IME input method. Only for far-east Windows, so
* IME can be used to input chars. Not tested much! * IME can be used to input chars. Not tested much!

View File

@@ -2515,12 +2515,7 @@ text_to_screenline(win_T *wp, char_u *text, int col)
prev_c = u8c; prev_c = u8c;
#endif #endif
/* Non-BMP character: display as ? or fullwidth ?. */ /* Non-BMP character: display as ? or fullwidth ?. */
#ifdef UNICODE16 ScreenLinesUC[idx] = u8c;
if (u8c >= 0x10000)
ScreenLinesUC[idx] = (cells == 2) ? 0xff1f : (int)'?';
else
#endif
ScreenLinesUC[idx] = u8c;
for (i = 0; i < Screen_mco; ++i) for (i = 0; i < Screen_mco; ++i)
{ {
ScreenLinesC[i][idx] = u8cc[i]; ScreenLinesC[i][idx] = u8cc[i];
@@ -4482,34 +4477,17 @@ win_line(
if ((mb_l == 1 && c >= 0x80) if ((mb_l == 1 && c >= 0x80)
|| (mb_l >= 1 && mb_c == 0) || (mb_l >= 1 && mb_c == 0)
|| (mb_l > 1 && (!vim_isprintc(mb_c) || (mb_l > 1 && (!vim_isprintc(mb_c))))
# ifdef UNICODE16
|| mb_c >= 0x10000
# endif
)))
{ {
/* /*
* Illegal UTF-8 byte: display as <xx>. * Illegal UTF-8 byte: display as <xx>.
* Non-BMP character : display as ? or fullwidth ?. * Non-BMP character : display as ? or fullwidth ?.
*/ */
# ifdef UNICODE16 transchar_hex(extra, mb_c);
if (mb_c < 0x10000)
# endif
{
transchar_hex(extra, mb_c);
# ifdef FEAT_RIGHTLEFT # ifdef FEAT_RIGHTLEFT
if (wp->w_p_rl) /* reverse */ if (wp->w_p_rl) /* reverse */
rl_mirror(extra); rl_mirror(extra);
# endif # 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; p_extra = extra;
c = *p_extra; c = *p_extra;
mb_c = mb_ptr2char_adv(&p_extra); mb_c = mb_ptr2char_adv(&p_extra);
@@ -7478,15 +7456,6 @@ screen_puts_len(
else else
u8c = utfc_ptr2char(ptr, u8cc); u8c = utfc_ptr2char(ptr, u8cc);
mbyte_cells = utf_char2cells(u8c); 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 #ifdef FEAT_ARABIC
if (p_arshape && !p_tbidi && ARABIC_CHAR(u8c)) if (p_arshape && !p_tbidi && ARABIC_CHAR(u8c))
{ {

View File

@@ -787,6 +787,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
812,
/**/ /**/
811, 811,
/**/ /**/

View File

@@ -431,15 +431,9 @@ typedef unsigned short sattr_T;
/* /*
* The u8char_T can hold one decoded UTF-8 character. * 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 * We use 32 bits, since some Asian characters don't fit in 16 bits.
* bits. u8char_T is only used for displaying, it could be 16 bits to save
* memory.
*/ */
#ifdef UNICODE16 typedef unsigned int u8char_T; // int is 32 bits or more
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 */ #ifndef UNIX /* For Unix this is included in os_unix.h */
# include <stdio.h> # include <stdio.h>