From f872ab0528b15cc9d9aa0d8011b0157e3db1939d Mon Sep 17 00:00:00 2001 From: Fredrik Lundh Date: Sat, 1 Jul 2000 17:50:59 +0000 Subject: today's SRE update: -- changed 1.6 to 2.0 in the file headers -- fixed ISALNUM macro for the unicode locale. this solution isn't perfect, but the best I can do with Python's current unicode database. --- Lib/sre.py | 2 +- Lib/sre_compile.py | 2 +- Lib/sre_constants.py | 2 +- Lib/sre_parse.py | 2 +- Modules/_sre.c | 15 +++++++++++---- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Lib/sre.py b/Lib/sre.py index 5e6aeeb853..a09184b2a0 100644 --- a/Lib/sre.py +++ b/Lib/sre.py @@ -6,7 +6,7 @@ # Copyright (c) 1998-2000 by Secret Labs AB. All rights reserved. # # Portions of this engine have been developed in cooperation with -# CNRI. Hewlett-Packard provided funding for 1.6 integration and +# CNRI. Hewlett-Packard provided funding for 2.0 integration and # other compatibility work. # diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py index 590e45fb42..14b1970d56 100644 --- a/Lib/sre_compile.py +++ b/Lib/sre_compile.py @@ -6,7 +6,7 @@ # Copyright (c) 1997-2000 by Secret Labs AB. All rights reserved. # # Portions of this engine have been developed in cooperation with -# CNRI. Hewlett-Packard provided funding for 1.6 integration and +# CNRI. Hewlett-Packard provided funding for 2.0 integration and # other compatibility work. # diff --git a/Lib/sre_constants.py b/Lib/sre_constants.py index 45f4f482d2..39db58fd4f 100644 --- a/Lib/sre_constants.py +++ b/Lib/sre_constants.py @@ -7,7 +7,7 @@ # Copyright (c) 1998-2000 by Secret Labs AB. All rights reserved. # # Portions of this engine have been developed in cooperation with -# CNRI. Hewlett-Packard provided funding for 1.6 integration and +# CNRI. Hewlett-Packard provided funding for 2.0 integration and # other compatibility work. # diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py index 53616f618f..0e01ad62db 100644 --- a/Lib/sre_parse.py +++ b/Lib/sre_parse.py @@ -6,7 +6,7 @@ # Copyright (c) 1998-2000 by Secret Labs AB. All rights reserved. # # Portions of this engine have been developed in cooperation with -# CNRI. Hewlett-Packard provided funding for 1.6 integration and +# CNRI. Hewlett-Packard provided funding for 2.0 integration and # other compatibility work. # diff --git a/Modules/_sre.c b/Modules/_sre.c index 46fe4ed679..3d6305a6ae 100644 --- a/Modules/_sre.c +++ b/Modules/_sre.c @@ -25,7 +25,7 @@ * Copyright (c) 1997-2000 by Secret Labs AB. All rights reserved. * * Portions of this engine have been developed in cooperation with - * CNRI. Hewlett-Packard provided funding for 1.6 integration and + * CNRI. Hewlett-Packard provided funding for 2.0 integration and * other compatibility work. */ @@ -52,7 +52,7 @@ char copyright[] = " SRE 0.9.4 Copyright (c) 1997-2000 by Secret Labs AB "; #undef DEBUG #if PY_VERSION_HEX >= 0x01060000 -/* defining this enables unicode support (default under 1.6) */ +/* defining this enables unicode support (default under 1.6a1 and later) */ #define HAVE_UNICODE #endif @@ -143,11 +143,18 @@ static unsigned int sre_lower_unicode(unsigned int ch) { return (unsigned int) Py_UNICODE_TOLOWER((Py_UNICODE)(ch)); } -#define SRE_UNI_TO_LOWER(ch) Py_UNICODE_TOLOWER((Py_UNICODE)(ch)) + +#if !defined(Py_UNICODE_ISALNUM) +/* FIXME: workaround. should be fixed in unicodectype.c */ +#define Py_UNICODE_ISALNUM(ch)\ + (Py_UNICODE_ISLOWER(ch) || Py_UNICODE_ISUPPER(ch) ||\ + Py_UNICODE_ISTITLE(ch) || Py_UNICODE_ISDIGIT(ch)) +#endif + #define SRE_UNI_IS_DIGIT(ch) Py_UNICODE_ISDIGIT((Py_UNICODE)(ch)) #define SRE_UNI_IS_SPACE(ch) Py_UNICODE_ISSPACE((Py_UNICODE)(ch)) #define SRE_UNI_IS_LINEBREAK(ch) Py_UNICODE_ISLINEBREAK((Py_UNICODE)(ch)) -#define SRE_UNI_IS_ALNUM(ch) ((ch) < 256 ? isalnum((ch)) : 0) +#define SRE_UNI_IS_ALNUM(ch) Py_UNICODE_ISALNUM((Py_UNICODE)(ch)) #define SRE_UNI_IS_WORD(ch) (SRE_IS_ALNUM((ch)) || (ch) == '_') #endif -- cgit v1.2.1