summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFredrik Lundh <fredrik@pythonware.com>2000-07-01 17:50:59 +0000
committerFredrik Lundh <fredrik@pythonware.com>2000-07-01 17:50:59 +0000
commitf872ab0528b15cc9d9aa0d8011b0157e3db1939d (patch)
tree0d5eb53e80aba3f1942c338763e8dd82dfb2fbc7
parent21ca7a3c4fc13e1ce07f125d6cab68214aa0d44d (diff)
downloadcpython-f872ab0528b15cc9d9aa0d8011b0157e3db1939d.tar.gz
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.
-rw-r--r--Lib/sre.py2
-rw-r--r--Lib/sre_compile.py2
-rw-r--r--Lib/sre_constants.py2
-rw-r--r--Lib/sre_parse.py2
-rw-r--r--Modules/_sre.c15
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