To: vim_dev@googlegroups.com Subject: Patch 7.3.606 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.606 Problem: CTRL-P completion has a problem with multi-byte characters. Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto) Files: src/search.c, src/macros.h *** ../vim-7.3.605/src/search.c 2012-06-06 16:12:54.000000000 +0200 --- src/search.c 2012-07-19 17:09:20.000000000 +0200 *************** *** 5141,5147 **** && !(compl_cont_status & CONT_SOL) #endif && *startp != NUL ! && *(p = startp + 1) != NUL) goto search_line; } line_breakcheck(); --- 5141,5147 ---- && !(compl_cont_status & CONT_SOL) #endif && *startp != NUL ! && *(p = startp + MB_PTR2LEN(startp)) != NUL) goto search_line; } line_breakcheck(); *** ../vim-7.3.605/src/macros.h 2010-09-21 16:56:29.000000000 +0200 --- src/macros.h 2012-07-19 17:08:38.000000000 +0200 *************** *** 259,264 **** --- 259,266 ---- * PTR2CHAR(): get character from pointer. */ #ifdef FEAT_MBYTE + /* Get the length of the character p points to */ + # define MB_PTR2LEN(p) (has_mbyte ? (*mb_ptr2len)(p) : 1) /* Advance multi-byte pointer, skip over composing chars. */ # define mb_ptr_adv(p) p += has_mbyte ? (*mb_ptr2len)(p) : 1 /* Advance multi-byte pointer, do not skip over composing chars. */ *************** *** 272,277 **** --- 274,280 ---- # define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : (int)STRLEN(p)) # define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : (int)*(p)) #else + # define MB_PTR2LEN(p) 1 # define mb_ptr_adv(p) ++p # define mb_cptr_adv(p) ++p # define mb_ptr_back(s, p) --p *** ../vim-7.3.605/src/version.c 2012-07-19 11:37:22.000000000 +0200 --- src/version.c 2012-07-19 17:13:53.000000000 +0200 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 606, /**/ -- hundred-and-one symptoms of being an internet addict: 151. You find yourself engaged to someone you've never actually met, except through e-mail. /// 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 ///