Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
number of tests, all because of the codecs/_multibytecodecs issue described
here (it's not a Py3K issue, just something Py3K discovers):
http://mail.python.org/pipermail/python-dev/2006-April/064051.html
Hye-Shik Chang promised to look for a fix, so no need to fix it here. The
tests that are expected to break are:
test_codecencodings_cn
test_codecencodings_hk
test_codecencodings_jp
test_codecencodings_kr
test_codecencodings_tw
test_codecs
test_multibytecodec
This merge fixes an actual test failure (test_weakref) in this branch,
though, so I believe merging is the right thing to do anyway.
diff --git a/Tools/scripts/byext.py b/Tools/scripts/byext.py
index 93759bc..09610b0 100644
--- a/Tools/scripts/byext.py
+++ b/Tools/scripts/byext.py
@@ -17,7 +17,7 @@
elif os.path.isfile(arg):
self.statfile(arg)
else:
- sys.stderr.write("Can't find %s\n" % file)
+ sys.stderr.write("Can't find %s\n" % arg)
self.addstats("<???>", "unknown", 1)
def statdir(self, dir):
@@ -25,8 +25,8 @@
try:
names = os.listdir(dir)
except os.error, err:
- sys.stderr.write("Can't list %s: %s\n" % (file, err))
- self.addstats(ext, "unlistable", 1)
+ sys.stderr.write("Can't list %s: %s\n" % (dir, err))
+ self.addstats("<dir>", "unlistable", 1)
return
names.sort()
for name in names:
@@ -42,9 +42,9 @@
else:
self.statfile(full)
- def statfile(self, file):
- head, ext = os.path.splitext(file)
- head, base = os.path.split(file)
+ def statfile(self, filename):
+ head, ext = os.path.splitext(filename)
+ head, base = os.path.split(filename)
if ext == base:
ext = "" # E.g. .cvsignore is deemed not to have an extension
ext = os.path.normcase(ext)
@@ -52,9 +52,9 @@
ext = "<none>"
self.addstats(ext, "files", 1)
try:
- f = open(file, "rb")
+ f = open(filename, "rb")
except IOError, err:
- sys.stderr.write("Can't open %s: %s\n" % (file, err))
+ sys.stderr.write("Can't open %s: %s\n" % (filename, err))
self.addstats(ext, "unopenable", 1)
return
data = f.read()
diff --git a/Tools/scripts/classfix.py b/Tools/scripts/classfix.py
index cdf006a..d30700f 100755
--- a/Tools/scripts/classfix.py
+++ b/Tools/scripts/classfix.py
@@ -30,7 +30,7 @@
# into a program for a different change to Python programs...
import sys
-import regex
+import re
import os
from stat import *
@@ -53,7 +53,7 @@
if fix(arg): bad = 1
sys.exit(bad)
-ispythonprog = regex.compile('^[a-zA-Z0-9_]+\.py$')
+ispythonprog = re.compile('^[a-zA-Z0-9_]+\.py$')
def ispython(name):
return ispythonprog.match(name) >= 0
@@ -148,12 +148,12 @@
# This expression doesn't catch *all* class definition headers,
# but it's pretty darn close.
-classexpr = '^\([ \t]*class +[a-zA-Z0-9_]+\) *( *) *\(\(=.*\)?\):'
-classprog = regex.compile(classexpr)
+classexpr = '^([ \t]*class +[a-zA-Z0-9_]+) *( *) *((=.*)?):'
+classprog = re.compile(classexpr)
# Expressions for finding base class expressions.
-baseexpr = '^ *\(.*\) *( *) *$'
-baseprog = regex.compile(baseexpr)
+baseexpr = '^ *(.*) *( *) *$'
+baseprog = re.compile(baseexpr)
def fixline(line):
if classprog.match(line) < 0: # No 'class' keyword -- no change
diff --git a/Tools/scripts/fixcid.py b/Tools/scripts/fixcid.py
index 42aa835..433a425 100755
--- a/Tools/scripts/fixcid.py
+++ b/Tools/scripts/fixcid.py
@@ -35,7 +35,7 @@
# files.
import sys
-import regex
+import re
import os
from stat import *
import getopt
@@ -90,7 +90,7 @@
# Change this regular expression to select a different set of files
Wanted = '^[a-zA-Z0-9_]+\.[ch]$'
def wanted(name):
- return regex.match(Wanted, name) >= 0
+ return re.match(Wanted, name) >= 0
def recursedown(dirname):
dbg('recursedown(%r)\n' % (dirname,))
@@ -212,12 +212,12 @@
# Anything else is an operator -- don't list this explicitly because of '/*'
OutsideComment = (Identifier, Number, String, Char, CommentStart)
-OutsideCommentPattern = '\(' + '\|'.join(OutsideComment) + '\)'
-OutsideCommentProgram = regex.compile(OutsideCommentPattern)
+OutsideCommentPattern = '(' + '|'.join(OutsideComment) + ')'
+OutsideCommentProgram = re.compile(OutsideCommentPattern)
InsideComment = (Identifier, Number, CommentEnd)
-InsideCommentPattern = '\(' + '\|'.join(InsideComment) + '\)'
-InsideCommentProgram = regex.compile(InsideCommentPattern)
+InsideCommentPattern = '(' + '|'.join(InsideComment) + ')'
+InsideCommentProgram = re.compile(InsideCommentPattern)
def initfixline():
global Program
diff --git a/Tools/scripts/ifdef.py b/Tools/scripts/ifdef.py
index 7e7b5cc..2ed7a66 100755
--- a/Tools/scripts/ifdef.py
+++ b/Tools/scripts/ifdef.py
@@ -27,7 +27,6 @@
# preprocessor commands.
import sys
-import regex
import getopt
defs = []
diff --git a/Tools/scripts/methfix.py b/Tools/scripts/methfix.py
index a872ab7..b81871f 100755
--- a/Tools/scripts/methfix.py
+++ b/Tools/scripts/methfix.py
@@ -27,7 +27,7 @@
# into a program for a different change to Python programs...
import sys
-import regex
+import re
import os
from stat import *
@@ -50,7 +50,7 @@
if fix(arg): bad = 1
sys.exit(bad)
-ispythonprog = regex.compile('^[a-zA-Z0-9_]+\.py$')
+ispythonprog = re.compile('^[a-zA-Z0-9_]+\.py$')
def ispython(name):
return ispythonprog.match(name) >= 0
@@ -101,7 +101,7 @@
if lineno == 1 and g is None and line[:2] == '#!':
# Check for non-Python scripts
words = line[2:].split()
- if words and regex.search('[pP]ython', words[0]) < 0:
+ if words and re.search('[pP]ython', words[0]) < 0:
msg = filename + ': ' + words[0]
msg = msg + ' script; not fixed\n'
err(msg)
@@ -158,8 +158,8 @@
return 0
-fixpat = '^[ \t]+def +[a-zA-Z0-9_]+ *( *self *, *\(( *\(.*\) *)\) *) *:'
-fixprog = regex.compile(fixpat)
+fixpat = '^[ \t]+def +[a-zA-Z0-9_]+ *( *self *, *(( *(.*) *)) *) *:'
+fixprog = re.compile(fixpat)
def fixline(line):
if fixprog.match(line) >= 0:
diff --git a/Tools/scripts/objgraph.py b/Tools/scripts/objgraph.py
index 01060f9..f74c2b6 100755
--- a/Tools/scripts/objgraph.py
+++ b/Tools/scripts/objgraph.py
@@ -22,7 +22,7 @@
import sys
import os
import getopt
-import regex
+import re
# Types of symbols.
#
@@ -32,7 +32,7 @@
# Regular expression to parse "nm -o" output.
#
-matcher = regex.compile('\(.*\):\t?........ \(.\) \(.*\)$')
+matcher = re.compile('(.*):\t?........ (.) (.*)$')
# Store "item" in "dict" under "key".
# The dictionary maps keys to lists of items.
diff --git a/Tools/scripts/pathfix.py b/Tools/scripts/pathfix.py
index 5cb5add..7f6f191 100755
--- a/Tools/scripts/pathfix.py
+++ b/Tools/scripts/pathfix.py
@@ -20,7 +20,7 @@
# into a program for a different change to Python programs...
import sys
-import regex
+import re
import os
from stat import *
import getopt
@@ -59,7 +59,7 @@
if fix(arg): bad = 1
sys.exit(bad)
-ispythonprog = regex.compile('^[a-zA-Z0-9_]+\.py$')
+ispythonprog = re.compile('^[a-zA-Z0-9_]+\.py$')
def ispython(name):
return ispythonprog.match(name) >= 0
diff --git a/Tools/scripts/pdeps.py b/Tools/scripts/pdeps.py
index e835f84..da63e35 100755
--- a/Tools/scripts/pdeps.py
+++ b/Tools/scripts/pdeps.py
@@ -21,7 +21,7 @@
import sys
-import regex
+import re
import os
@@ -57,8 +57,8 @@
# Compiled regular expressions to search for import statements
#
-m_import = regex.compile('^[ \t]*from[ \t]+\([^ \t]+\)[ \t]+')
-m_from = regex.compile('^[ \t]*import[ \t]+\([^#]+\)')
+m_import = re.compile('^[ \t]*from[ \t]+([^ \t]+)[ \t]+')
+m_from = re.compile('^[ \t]*import[ \t]+([^#]+)')
# Collect data from one file