From 0ea4a6b94b6f7a13ef5027b43c36bda0836b51af Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 12 Jun 2013 14:10:26 +0200 Subject: [PATCH] updated for version 7.3.1171 Problem: Check for digits and ascii letters can be faster. Solution: Use a trick with one comparison. (Dominique Pelle) --- src/macros.h | 9 ++++----- src/version.c | 2 ++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/macros.h b/src/macros.h index 1737cfa54..2c305ce1d 100644 --- a/src/macros.h +++ b/src/macros.h @@ -109,15 +109,14 @@ #else # define ASCII_ISALPHA(c) ((c) < 0x7f && isalpha(c)) # define ASCII_ISALNUM(c) ((c) < 0x7f && isalnum(c)) -# define ASCII_ISLOWER(c) ((c) < 0x7f && islower(c)) -# define ASCII_ISUPPER(c) ((c) < 0x7f && isupper(c)) +# define ASCII_ISLOWER(c) ((unsigned)(c) - 'a' < 26) +# define ASCII_ISUPPER(c) ((unsigned)(c) - 'A' < 26) #endif /* Use our own isdigit() replacement, because on MS-Windows isdigit() returns * non-zero for superscript 1. Also avoids that isdigit() crashes for numbers - * below 0 and above 255. For complicated arguments and in/decrement use - * vim_isdigit() instead. */ -#define VIM_ISDIGIT(c) ((c) >= '0' && (c) <= '9') + * below 0 and above 255. */ +#define VIM_ISDIGIT(c) ((unsigned)(c) - '0' < 10) /* macro version of chartab(). * Only works with values 0-255! diff --git a/src/version.c b/src/version.c index e20ac7f41..c6ef1bdd3 100644 --- a/src/version.c +++ b/src/version.c @@ -728,6 +728,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1171, /**/ 1170, /**/ -- 2.50.1