aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2011-08-03 10:38:35 +1000
committerSteve Bennett <steveb@workware.net.au>2011-12-02 20:56:50 +1000
commitf4be369c1151ef68a4267f83217dd8433e63c1a7 (patch)
treed03c45f9c95e75f9149b792fbeeec6ef5bf6d463
parent4d1bb6a0dbc23f76ec3447fe5eb3f60a408bd5ad (diff)
downloadjimtcl-f4be369c1151ef68a4267f83217dd8433e63c1a7.zip
jimtcl-f4be369c1151ef68a4267f83217dd8433e63c1a7.tar.gz
jimtcl-f4be369c1151ef68a4267f83217dd8433e63c1a7.tar.bz2
Treat all unicode >= 0x80 as alpha
For the purposes of variable names ($abc) Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--jim.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/jim.c b/jim.c
index 10a1b09..96d7b4f 100644
--- a/jim.c
+++ b/jim.c
@@ -1485,7 +1485,10 @@ static int JimParseVar(struct JimParserCtx *pc)
pc->len -= 2;
continue;
}
- if (isalnum(UCHAR(*pc->p)) || *pc->p == '_') {
+ /* Note that any char >= 0x80 must be part of a utf-8 char.
+ * We consider all unicode points outside of ASCII as letters
+ */
+ if (isalnum(UCHAR(*pc->p)) || *pc->p == '_' || UCHAR(*pc->p) >= 0x80) {
pc->p++;
pc->len--;
continue;