Bug #1675967: re patterns pickled with older Python versions can

now be unpickled. Will backport.
This commit is contained in:
Žiga Seilnacht 2007-03-21 20:07:56 +00:00
parent 3ff9e55890
commit 7492e4260e
3 changed files with 13 additions and 1 deletions

View File

@ -8,3 +8,6 @@ warnings.warn("The sre module is deprecated, please import re.",
from re import * from re import *
from re import __all__ from re import __all__
# old pickles expect the _compile() reconstructor in this module
from re import _compile

View File

@ -1,7 +1,7 @@
import sys import sys
sys.path = ['.'] + sys.path sys.path = ['.'] + sys.path
from test.test_support import verbose, run_unittest from test.test_support import verbose, run_unittest, guard_warnings_filter
import re import re
from re import Scanner from re import Scanner
import sys, os, traceback import sys, os, traceback
@ -414,6 +414,12 @@ class ReTests(unittest.TestCase):
self.pickle_test(pickle) self.pickle_test(pickle)
import cPickle import cPickle
self.pickle_test(cPickle) self.pickle_test(cPickle)
# old pickles expect the _compile() reconstructor in sre module
import warnings
with guard_warnings_filter():
warnings.filterwarnings("ignore", "The sre module is deprecated",
DeprecationWarning)
from sre import _compile
def pickle_test(self, pickle): def pickle_test(self, pickle):
oldpat = re.compile('a(?:b|(c|e){1,2}?|d)+?(.)') oldpat = re.compile('a(?:b|(c|e){1,2}?|d)+?(.)')

View File

@ -192,6 +192,9 @@ Core and builtins
Library Library
------- -------
- Bug #1675967: re patterns pickled with Python 2.4 and earlier can
now be unpickled with Python 2.5 and newer.
- Patch #1630118: add a SpooledTemporaryFile class to tempfile.py. - Patch #1630118: add a SpooledTemporaryFile class to tempfile.py.
- Patch #1273829: os.walk() now has a "followlinks" parameter. If set to - Patch #1273829: os.walk() now has a "followlinks" parameter. If set to