To: vim-dev@vim.org Subject: Patch 5.6.031 Fcc: outbox From: Bram Moolenaar ------------ Patch 5.6.031 Problem: Multi-byte: When a double-byte character ends in CSI, Vim waits for another character to be typed. Solution: Recognize the CSI as the second byte of a character and don't wait for another one. (Yasuhiro Matsumoto) Files: src/getchar.c *** ../vim-5.6.30/src/getchar.c Sat Mar 25 13:10:19 2000 --- src/getchar.c Fri Mar 24 10:42:26 2000 *************** *** 1456,1461 **** --- 1456,1473 ---- { keylen = check_termcode(max_mlen + 1, NULL, 0); + #ifdef MULTI_BYTE + /* + * When a CSI appears in a multi-byte character, + * don't wait for another character. + */ + if (keylen < 0 && is_dbcs && typeoff > 0) + { + if (IsLeadByte(*(typebuf + typeoff - 1)) + && *(typebuf + typeoff) == CSI) + keylen = 0; + } + #endif /* * When getting a partial match, but the last * characters were not typed, don't wait for a *** ../vim-5.6.30/src/version.c Sat Mar 25 21:25:22 2000 --- src/version.c Sat Mar 25 21:27:34 2000 *************** *** 420,421 **** --- 420,423 ---- { /* Add new patch number below this line */ + /**/ + 31, /**/ -- "My particular problem is with registry entries, which seem to just accumulate like plastic coffee cups..." -- Paul Moore /-/-- Bram Moolenaar --- Bram@moolenaar.net --- http://www.moolenaar.net --\-\ \-\-- Vim: http://www.vim.org ---- ICCF Holland: http://www.vim.org/iccf --/-/