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:
@@ -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!
|
||||||
|
41
src/screen.c
41
src/screen.c
@@ -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))
|
||||||
{
|
{
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
10
src/vim.h
10
src/vim.h
@@ -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>
|
||||||
|
Reference in New Issue
Block a user