From: Bram Moolenaar Date: Wed, 15 Aug 2007 18:41:34 +0000 (+0000) Subject: updated for version 7.1-079 X-Git-Tag: v7.1.079 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=deefb63bfbf7bba981e82853638f9ab98d947d80;p=vim updated for version 7.1-079 --- diff --git a/src/charset.c b/src/charset.c index 8f058bde0..5a2952cd6 100644 --- a/src/charset.c +++ b/src/charset.c @@ -207,7 +207,10 @@ buf_init_chartab(buf, global) } while (c <= c2) { - if (!do_isalpha || isalpha(c) + /* Use the MB_ functions here, because isalpha() doesn't + * work properly when 'encoding' is "latin1" and the locale is + * "C". */ + if (!do_isalpha || MB_ISLOWER(c) || MB_ISUPPER(c) #ifdef FEAT_FKMAP || (p_altkeymap && (F_isalpha(c) || F_isdigit(c))) #endif diff --git a/src/macros.h b/src/macros.h index 400f77128..f22309959 100644 --- a/src/macros.h +++ b/src/macros.h @@ -54,10 +54,12 @@ /* * toupper() and tolower() that use the current locale. - * On some systems toupper()/tolower() only work on lower/uppercase characters + * On some systems toupper()/tolower() only work on lower/uppercase + * characters, first use islower() or isupper() then. * Careful: Only call TOUPPER_LOC() and TOLOWER_LOC() with a character in the * range 0 - 255. toupper()/tolower() on some systems can't handle others. - * Note: for UTF-8 use utf_toupper() and utf_tolower(). + * Note: It is often better to use MB_TOLOWER() and MB_TOUPPER(), because many + * toupper() and tolower() implementations only work for ASCII. */ #ifdef MSWIN # define TOUPPER_LOC(c) toupper_tab[(c) & 255] diff --git a/src/version.c b/src/version.c index 5f8faf875..11d944352 100644 --- a/src/version.c +++ b/src/version.c @@ -666,6 +666,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 79, /**/ 78, /**/