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

now be unpickled.
 (backport form rev. 54492)
This commit is contained in:
Žiga Seilnacht 2007-03-21 20:37:39 +00:00
parent 7ed0a65831
commit e5df857cc3
3 changed files with 15 additions and 0 deletions

View file

@ -8,3 +8,6 @@
from re import *
from re import __all__
# old pickles expect the _compile() reconstructor in this module
from re import _compile

View file

@ -414,6 +414,15 @@ def test_pickling(self):
self.pickle_test(pickle)
import cPickle
self.pickle_test(cPickle)
# old pickles expect the _compile() reconstructor in sre module
import warnings
original_filters = warnings.filters[:]
try:
warnings.filterwarnings("ignore", "The sre module is deprecated",
DeprecationWarning)
from sre import _compile
finally:
warnings.filters = original_filters
def pickle_test(self, pickle):
oldpat = re.compile('a(?:b|(c|e){1,2}?|d)+?(.)')

View file

@ -217,6 +217,9 @@ Extension Modules
Library
-------
- Bug #1675967: re patterns pickled with Python 2.4 and earlier can
now be unpickled with Python 2.5.
- Bug #1684254: webbrowser now uses shlex to split any command lines
given to get(). It also detects when you use '&' as the last argument
and creates a BackgroundBrowser then.