2016-03-03 오후 7:45에 Bram Moolenaar 이(가) 쓴 글:
>
> Patch 7.4.1475
> Problem: When using hangulinput with utf-8 a CSI character is
> misintepreted.
> Solution: Convert CSI to K_CSI. (SungHyun Nam)
> Files: src/ui.c
If a user use euc-kr, then hangul_string_convert() returns NULL.
So that this patch breaks for such case.
If you didn't like 'tmpbuf' check in a if statement, that check can
be safely removed. I wanted to show the code is safe explicitely.
I hope you apply my patch as is (or remove the tmpbuf check in
if()).
>
> *** ../vim-7.4.1474/src/ui.c 2016-02-27 18:13:05.240593068 +0100
> --- src/ui.c 2016-03-03 11:40:32.693060629 +0100
> ***************
> *** 1689,1701 ****
>
> tmpbuf = hangul_string_convert(s, &len);
> if (tmpbuf != NULL)
> s = tmpbuf;
>
> ! while (len--)
> ! inbuf[inbufcount++] = *s++;
> !
> ! if (tmpbuf != NULL)
> vim_free(tmpbuf);
> }
> #endif
>
> --- 1689,1709 ----
>
> tmpbuf = hangul_string_convert(s, &len);
> if (tmpbuf != NULL)
> + {
> s = tmpbuf;
>
> ! for (; len--; s++)
> ! {
> ! inbuf[inbufcount++] = *s;
> ! if (*s == CSI)
> ! {
> ! /* Turn CSI into K_CSI. */
> ! inbuf[inbufcount++] = KS_EXTRA;
> ! inbuf[inbufcount++] = (int)KE_CSI;
> ! }
> ! }
> vim_free(tmpbuf);
> + }
> }
> #endif
>
> *** ../vim-7.4.1474/src/version.c 2016-03-02 22:16:28.512450505 +0100
> --- src/version.c 2016-03-03 11:41:56.928177531 +0100
> ***************
> *** 745,746 ****
> --- 745,748 ----
> { /* Add new patch number below this line */
> + /**/
> + 1475,
> /**/
>
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.