summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0812
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0812')
-rw-r--r--data/vim/patches/8.1.0812174
1 files changed, 174 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0812 b/data/vim/patches/8.1.0812
new file mode 100644
index 000000000..534690b90
--- /dev/null
+++ b/data/vim/patches/8.1.0812
@@ -0,0 +1,174 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0812
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+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 <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 -- 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 ///