mirror of
https://github.com/python/cpython.git
synced 2025-11-25 04:34:37 +00:00
Merged revisions 88498 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r88498 | brett.cannon | 2011-02-21 19:25:12 -0800 (Mon, 21 Feb 2011) | 8 lines Issue #11074: Make 'tokenize' so it can be reloaded. The module stored away the 'open' object as found in the global namespace (which fell through to the built-in namespace) since it defined its own 'open'. Problem is that if you reloaded the module it then grabbed the 'open' defined in the previous load, leading to code that infinite recursed. Switched to simply call builtins.open directly. ........
This commit is contained in:
parent
64c9af1508
commit
45b96d373e
2 changed files with 4 additions and 3 deletions
|
|
@ -24,6 +24,7 @@ __author__ = 'Ka-Ping Yee <ping@lfw.org>'
|
||||||
__credits__ = ('GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, '
|
__credits__ = ('GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, '
|
||||||
'Skip Montanaro, Raymond Hettinger, Trent Nelson, '
|
'Skip Montanaro, Raymond Hettinger, Trent Nelson, '
|
||||||
'Michael Foord')
|
'Michael Foord')
|
||||||
|
import builtins
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
from token import *
|
from token import *
|
||||||
|
|
@ -335,13 +336,11 @@ def detect_encoding(readline):
|
||||||
return default, [first, second]
|
return default, [first, second]
|
||||||
|
|
||||||
|
|
||||||
_builtin_open = open
|
|
||||||
|
|
||||||
def open(filename):
|
def open(filename):
|
||||||
"""Open a file in read only mode using the encoding detected by
|
"""Open a file in read only mode using the encoding detected by
|
||||||
detect_encoding().
|
detect_encoding().
|
||||||
"""
|
"""
|
||||||
buffer = _builtin_open(filename, 'rb')
|
buffer = builtins.open(filename, 'rb')
|
||||||
encoding, lines = detect_encoding(buffer.readline)
|
encoding, lines = detect_encoding(buffer.readline)
|
||||||
buffer.seek(0)
|
buffer.seek(0)
|
||||||
text = TextIOWrapper(buffer, encoding, line_buffering=True)
|
text = TextIOWrapper(buffer, encoding, line_buffering=True)
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #11074: Make 'tokenize' so it can be reloaded.
|
||||||
|
|
||||||
- Issue #4681: Allow mmap() to work on file sizes and offsets larger than
|
- Issue #4681: Allow mmap() to work on file sizes and offsets larger than
|
||||||
4GB, even on 32-bit builds. Initial patch by Ross Lagerwall, adapted for
|
4GB, even on 32-bit builds. Initial patch by Ross Lagerwall, adapted for
|
||||||
32-bit Windows.
|
32-bit Windows.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue