From: Florent Xicluna Date: Sat, 7 Jul 2012 10:26:56 +0000 (+0200) Subject: Merge branch X-Git-Tag: v3.3.0b2~308 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fed2c51eea3383ab43e6f64da6e575dd62aa578e;p=python Merge branch --- fed2c51eea3383ab43e6f64da6e575dd62aa578e diff --cc Lib/tokenize.py index 0a53435583,59081d3579..d669412db3 --- a/Lib/tokenize.py +++ b/Lib/tokenize.py @@@ -380,21 -307,12 +380,21 @@@ def detect_encoding(readline) codec = lookup(encoding) except LookupError: # This behaviour mimics the Python interpreter - raise SyntaxError("unknown encoding: " + encoding) + if filename is None: + msg = "unknown encoding: " + encoding + else: + msg = "unknown encoding for {!r}: {}".format(filename, + encoding) + raise SyntaxError(msg) if bom_found: - if codec.name != 'utf-8': + if encoding != 'utf-8': # This behaviour mimics the Python interpreter - raise SyntaxError('encoding problem: utf-8') + if filename is None: + msg = 'encoding problem: utf-8' + else: + msg = 'encoding problem for {!r}: utf-8'.format(filename) + raise SyntaxError(msg) encoding += '-sig' return encoding diff --cc Misc/NEWS index 2d17eb3e57,92131b4eb6..d06ced8752 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -16,83 -16,6 +16,86 @@@ Core and Builtin - Issue #15033: Fix the exit status bug when modules invoked using -m swith, return the proper failure return value (1). Patch contributed by Jeff Knupp. +- Issue #15229: An OSError subclass whose __init__ doesn't call back + OSError.__init__ could produce incomplete instances, leading to crashes + when calling str() on them. + +Library +------- + ++- Issue #14990: Correctly fail with SyntaxError on invalid encoding ++ declaration. ++ +- Issue #14814: ipaddress now provides more informative error messages when + constructing instances directly (changes permitted during beta due to + provisional API status) + +- Issue #15247: FileIO now raises an error when given a file descriptor + pointing to a directory. + +- Issue #15261: Stop os.stat(fd) crashing on Windows when fd not open. + +- Issue #15166: Implement imp.get_tag() using sys.implementation.cache_tag. + +- Issue #15210: Catch KeyError when imprortlib.__init__ can't find + _frozen_importlib in sys.modules, not ImportError. + +- Issue #15030: importlib.abc.PyPycLoader now supports the new source size + header field in .pyc files. + +- Issue #5346: Preserve permissions of mbox, MMDF and Babyl mailbox + files on flush(). + +- Issue #10571: Fix the "--sign" option of distutils' upload command. + Patch by Jakub Wilk. + +- Issue #9559: If messages were only added, a new file is no longer + created and renamed over the old file when flush() is called on an + mbox, MMDF or Babyl mailbox. + +- Issue 10924: Fixed mksalt() to use a RNG that is suitable for cryptographic + purpose. + +Extension Modules +----------------- + +- Issue #15194: Update libffi to the 3.0.11 release. + +Tools/Demos +----------- + +- Issue #12605: The gdb hooks for debugging CPython (within Tools/gdb) have + been enhanced to show information on more C frames relevant to CPython within + the "py-bt" and "py-bt-full" commands: + * C frames that are waiting on the GIL + * C frames that are garbage-collecting + * C frames that are due to the invocation of a PyCFunction + +Build +----- + +- Issue #14330: For cross builds, don't use host python, use host search paths + for host compiler. + +- Issue #15235: Allow Berkley DB versions up to 5.3 to build the dbm module. + +- Issue #15268: Search curses.h in /usr/include/ncursesw. + + +What's New in Python 3.3.0 Beta 1? +================================== + +*Release date: 27-Jun-2012* + +Core and Builtins +----------------- + +- Fix a (most likely) very rare memory leak when calling main() and not being + able to decode a command-line argument. + +- Issue #14815: Use Py_ssize_t instead of long for the object hash, to + preserve all 64 bits of hash on Win64. + - Issue #12268: File readline, readlines and read() or readall() methods no longer lose data when an underlying read system call is interrupted. IOError is no longer raised due to a read system call returning EINTR