Mercurial > vim
changeset 3693:c612d154bcdd v7.3.606
updated for version 7.3.606
Problem: CTRL-P completion has a problem with multi-byte characters.
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 19 Jul 2012 17:18:26 +0200 |
parents | f2438f5f835e |
children | 111428420815 |
files | src/macros.h src/search.c src/version.c |
diffstat | 3 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/macros.h +++ b/src/macros.h @@ -259,6 +259,8 @@ * 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,6 +274,7 @@ # 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