From bb5652ca9a3aa78ddc0ea024835007253fcd5249 Mon Sep 17 00:00:00 2001 From: dgp Date: Wed, 27 Aug 2003 21:31:53 +0000 Subject: additinal performance tweak to last commit --- generic/tclUtil.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/generic/tclUtil.c b/generic/tclUtil.c index fb86a03..8dfe0d9 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUtil.c,v 1.36.2.3 2003/08/27 20:09:49 dgp Exp $ + * RCS: @(#) $Id: tclUtil.c,v 1.36.2.4 2003/08/27 21:31:53 dgp Exp $ */ #include "tclInt.h" @@ -2038,13 +2038,24 @@ TclNeedSpace(start, end) * backslash. */ + if (*end > 0x20) { + /* + * Performance tweak. All ASCII spaces are <= 0x20. So get + * a quick answer for most characters before comparing against + * all spaces in the switch below. + * + * NOTE: Remove this if other Unicode spaces ever get accepted + * as list-element separators. + */ + return 1; + } switch (*end) { case ' ': - case '\f': + case '\t': case '\n': case '\r': - case '\t': case '\v': + case '\f': if ((end == start) || (end[-1] != '\\')) { return 0; } -- cgit v0.12