Re: patch for vim 6.0b - search.c
- OOPS.. There is a BUG!!!
The behavior of gchar_cursor() is changed from 5.X to 6.0.
So, cls() does not work correctly for Japanese, TOO.
This is a newer patch. Pleas test and apply it.
--- search.c.orig Mon Jul 17 21:43:57 2000
+++ search.c Mon Jul 17 22:20:33 2000
@@ -2186,8 +2186,8 @@
if (cc_dbcs && c > 0xFF)
/* process code leading/trailing bytes */
- unsigned char c1 = c & 0xff;
- unsigned char c2 = (unsigned)c >> 8;
+ unsigned char c1 = (unsigned)c >> 8;
+ unsigned char c2 = c & 0xff;
if (cc_dbcs == (int)DBCS_JPN)
@@ -2265,7 +2265,6 @@
else if (cc_dbcs == (int)DBCS_KOR)
- /* TODO: this code has been reported not to work correctly! */
* If stype is non-zero, report these as class 1.
@@ -2291,6 +2290,14 @@
if (c1 >= 0xB0 && c1 <= 0xC8)
/* Hangul */
+ else if (c1 <= 0xA0 || c2 <= 0xA0)
+ /* Extended Hangul Region : MS UHC(Unified Hangul Code) */
+ /* c1: 0x81-0xA0 with c2: 0x41-0x5A, 0x61-0x7A, 0x81-0xFE
+ * c1: 0xA1-0xC6 with c2: 0x41-0x5A, 0x61-0x7A, 0x81-0xA0
+ return 20;
else if (c1 >= 0xCA && c1 <= 0xFD)
/* Hanja */
@@ -2332,11 +2339,6 @@
/* Cyrillic Letter */
- if (c1 >= 0x81 && (c1 <= 0xA0 || c2 <= 0xA0))
- /* Extended Hangul Region : MS UHC(Unified Hangul Code) */
- return 20;
Han Solo: That's 'cause droids don't pull people's arms out of their sockets
when they lose. Wookiees are known to do that.
C-3PO: I see your point, sir. I suggest a new strategy, R2! let the Wookiee
- from "Star Wars: A New Hope"
- Chong-Dae Park wrote:
> This is patch for vim-6.0b.Thanks, I'll include it.
> The code included in vim-6.0b is a buggy one.
> (Sorry, Bram. That's my fault.)
I'm glad that you also found the problem of swapping c1 and c2. There was a
mixup of using the leading byte as MSB or LSB in an int. I now always use the
leading byte as MSB. Perhaps there is still some place where it isn't. Let
me know if you find one.
There's never time to do it right, but always time to do it over.
/// Bram Moolenaar Bram@... http://www.moolenaar.net \\\
\\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///