From: Jesus Cea Date: Mon, 19 Sep 2011 15:11:26 +0000 (+0200) Subject: Close #13007: whichdb should recognize gdbm 1.9 magic numbers X-Git-Tag: v3.3.0a1~1522 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a372de8408b28689c63cb5ec711e2dceffc05e92;p=thirdparty%2FPython%2Fcpython.git Close #13007: whichdb should recognize gdbm 1.9 magic numbers --- a372de8408b28689c63cb5ec711e2dceffc05e92 diff --cc Misc/NEWS index 6df52156636d,bfe536925aa2..c786d24a4d81 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -30,246 -22,74 +30,248 @@@ Core and Builtin - Issue #12266: Fix str.capitalize() to correctly uppercase/lowercase titlecased and cased non-letter characters. -Library -------- +- Issue #12732: In narrow unicode builds, allow Unicode identifiers which fall + outside the BMP. -- Issue #9871: Prevent IDLE 3 crash when given byte stings - with invalid hex escape sequences, like b'\x0'. - (Original patch by Claudiu Popa.) +- Issue #12575: Validate user-generated AST before it is compiled. -- Issue #8933: distutils' PKG-INFO files will now correctly report - Metadata-Version: 1.1 instead of 1.0 if a Classifier or Download-URL field is - present. +- Make type(None), type(Ellipsis), and type(NotImplemented) callable. They + return the respective singleton instances. -- Issue #9561: distutils now reads and writes egg-info files using UTF-8, - instead of the locale encoding. +- Forbid summing bytes with sum(). -- Issue #12888: Fix a bug in HTMLParser.unescape that prevented it to escape - more than 128 entities. Patch by Peter Otten. +- Verify the types of AST strings and identifiers provided by the user before + compiling them. -- Issue #12878: Expose a __dict__ attribute on io.IOBase and its subclasses. +- Issue #12647: The None object now has a __bool__() method that returns False. + Formerly, bool(None) returned False only because of special case logic + in PyObject_IsTrue(). -- Issue #12636: IDLE reads the coding cookie when executing a Python script. +- Issue #12579: str.format_map() now raises a ValueError if used on a + format string that contains positional fields. Initial patch by + Julian Berman. -- Issue #12847: Fix a crash with negative PUT and LONG_BINPUT arguments in - the C pickle implementation. +- Issue #10271: Allow warnings.showwarning() be any callable. -- Issue #11564: Avoid crashes when trying to pickle huge objects or containers - (more than 2**31 items). Instead, in most cases, an OverflowError is raised. +- Issue #11627: Fix segfault when __new__ on a exception returns a + non-exception class. -- Issue #12287: Fix a stack corruption in ossaudiodev module when the FD is - greater than FD_SETSIZE. +- Issue #12149: Update the method cache after a type's dictionary gets + cleared by the garbage collector. This fixes a segfault when an instance + and its type get caught in a reference cycle, and the instance's + deallocator calls one of the methods on the type (e.g. when subclassing + IOBase). Diagnosis and patch by Davide Rizzo. -- Issue #11657: Fix sending file descriptors over 255 over a multiprocessing - Pipe. +- Issue #9611, #9015: FileIO.read() clamps the length to INT_MAX on Windows. + +- Issue #9642: Uniformize the tests on the availability of the mbcs codec, add + a new HAVE_MBCS define. + +- Issue #9642: Fix filesystem encoding initialization: use the ANSI code page + on Windows if the mbcs codec is not available, and fail with a fatal error if + we cannot get the locale encoding (if nl_langinfo(CODESET) is not available) + instead of using UTF-8. + +- When a generator yields, do not retain the caller's exception state on the + generator. + +- Issue #12475: Prevent generators from leaking their exception state into the + caller's frame as they return for the last time. + +- Issue #12291: You can now load multiple marshalled objects from a stream, + with other data interleaved between marshalled objects. + +- Issue #12356: When required positional or keyword-only arguments are not + given, produce a informative error message which includes the name(s) of the + missing arguments. + +- Issue #12370: Fix super with not arguments when __class__ is overriden in the + class body. + +- Issue #12084: os.stat on Windows now works properly with relative symbolic + links when called from any directory. + +- Loosen type restrictions on the __dir__ method. __dir__ can now return any + sequence, which will be converted to a list and sorted by dir(). + +- Issue #12265: Make error messages produced by passing an invalid set of + arguments to a function more informative. + +- Issue #12225: Still allow Python to build if Python is not in its hg repo or + mercurial is not installed. + +- Issue #1195: my_fgets() now always clears errors before calling fgets(). Fix + the following case: sys.stdin.read() stopped with CTRL+d (end of file), + raw_input() interrupted by CTRL+c. + +- Issue #12216: Allow unexpected EOF errors to happen on any line of the file. + +- Issue #12199: The TryExcept and TryFinally and AST nodes have been unified + into a Try node. + +- Issue #9670: Increase the default stack size for secondary threads on + Mac OS X and FreeBSD to reduce the chances of a crash instead of a + "maximum recursion depth" RuntimeError exception. + (patch by Ronald Oussoren) + +- Issue #12106: The use of the multiple-with shorthand syntax is now reflected + in the AST. + +- Issue #12190: Try to use the same filename object when compiling unmarshalling + a code objects in the same file. + +- Issue #12166: Move implementations of dir() specialized for various types into + the __dir__() methods of those types. + +- Issue #5715: In socketserver, close the server socket in the child process. + +- Correct lookup of __dir__ on objects. Among other things, this causes errors + besides AttributeError found on lookup to be propagated. + +- Issue #12060: Use sig_atomic_t type and volatile keyword in the signal + module. Patch written by Charles-François Natali. + +- Issue #1746656: Added the if_nameindex, if_indextoname, if_nametoindex + methods to the socket module. + +- Issue #12044: Fixed subprocess.Popen when used as a context manager to + wait for the process to end when exiting the context to avoid unintentionally + leaving zombie processes around. + +- Issue #1195: Fix input() if it is interrupted by CTRL+d and then CTRL+c, + clear the end-of-file indicator after CTRL+d. + +- Issue #1856: Avoid crashes and lockups when daemon threads run while the + interpreter is shutting down; instead, these threads are now killed when + they try to take the GIL. + +- Issue #11849: Make it more likely for the system allocator to release + free()d memory arenas on glibc-based systems. Patch by Charles-François + Natali. + +- Issue #9756: When calling a method descriptor or a slot wrapper descriptor, + the check of the object type doesn't read the __class__ attribute anymore. + Fix a crash if a class override its __class__ attribute (e.g. a proxy of the + str type). Patch written by Andreas Stührk. + +- Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_* + APIs, to avoid a crash with the pthread implementation in RHEL 5. Patch + by Charles-François Natali. + +- Issue #10914: Initialize correctly the filesystem codec when creating a new + subinterpreter to fix a bootstrap issue with codecs implemented in Python, as + the ISO-8859-15 codec. + +- Issue #11918: OS/2 and VMS are no more supported because of the lack of + maintainer. + +- Issue #6780: fix starts/endswith error message to mention that tuples are + accepted too. + +- Issue #5057: fix a bug in the peepholer that led to non-portable pyc files + between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP + chars (e.g. "\U00012345"[0]). + +- Issue #11845: Fix typo in rangeobject.c that caused a crash in + compute_slice_indices. Patch by Daniel Urban. + +- Issue #5673: Added a `timeout` keyword argument to subprocess.Popen.wait, + subprocess.Popen.communicated, subprocess.call, subprocess.check_call, and + subprocess.check_output. If the blocking operation takes more than `timeout` + seconds, the `subprocess.TimeoutExpired` exception is raised. + +- Issue #11650: PyOS_StdioReadline() retries fgets() if it was interrupted + (EINTR), for example if the program is stopped with CTRL+z on Mac OS X. Patch + written by Charles-Francois Natali. + +- Issue #9319: Include the filename in "Non-UTF8 code ..." syntax error. + +- Issue #10785: Store the filename as Unicode in the Python parser. + +- Issue #11619: _PyImport_LoadDynamicModule() doesn't encode the path to bytes + on Windows. + +- Issue #10998: Remove mentions of -Q, sys.flags.division_warning and + Py_DivisionWarningFlag left over from Python 2. + +- Issue #11244: Remove an unnecessary peepholer check that was preventing + negative zeros from being constant-folded properly. + +- Issue #11395: io.FileIO().write() clamps the data length to 32,767 bytes on + Windows if the file is a TTY to workaround a Windows bug. The Windows console + returns an error (12: not enough space error) on writing into stdout if + stdout mode is binary and the length is greater than 66,000 bytes (or less, + depending on heap usage). + +- Issue #11320: fix bogus memory management in Modules/getpath.c, leading to + a possible crash when calling Py_SetPath(). + +- _ast.__version__ is now a Mercurial hex revision. + +- Issue #11432: A bug was introduced in subprocess.Popen on posix systems with + 3.2.0 where the stdout or stderr file descriptor being the same as the stdin + file descriptor would raise an exception. webbrowser.open would fail. fixed. + +- Issue #9856: Change object.__format__ with a non-empty format string + to be a DeprecationWarning. In 3.2 it was a PendingDeprecationWarning. + In 3.4 it will be a TypeError. + +- Issue #11244: The peephole optimizer is now able to constant-fold + arbitrarily complex expressions. This also fixes a 3.2 regression where + operations involving negative numbers were not constant-folded. + +- Issue #11450: Don't truncate hg version info in Py_GetBuildInfo() when + there are many tags (e.g. when using mq). Patch by Nadeem Vawda. + +- Issue #11335: Fixed a memory leak in list.sort when the key function + throws an exception. + +- Issue #8923: When a string is encoded to UTF-8 in strict mode, the result is + cached into the object. Examples: str.encode(), str.encode('utf-8'), + PyUnicode_AsUTF8String() and PyUnicode_AsEncodedString(unicode, "utf-8", + NULL). + +- Issue #10831: PyUnicode_FromFormat() supports %li, %lli and %zi formats. + +- Issue #10829: Refactor PyUnicode_FromFormat(), use the same function to parse + the format string in the 3 steps, fix crashs on invalid format strings. + - Issue #13007: whichdb should recognize gdbm 1.9 magic numbers. + -- Issue #12213: Fix a buffering bug with interleaved reads and writes that - could appear on BufferedRandom streams. +- Issue #11246: Fix PyUnicode_FromFormat("%V") to decode the byte string from + UTF-8 (with replace error handler) instead of ISO-8859-1 (in strict mode). + Patch written by Ray Allen. -- Issue #12650: Fix a race condition where a subprocess.Popen could leak - resources (FD/zombie) when killed at the wrong time. +- Issue #11286: Raise a ValueError from calling PyMemoryView_FromBuffer with + a buffer struct having a NULL data pointer. -Tests ------ +- Issue #11272: On Windows, input() strips '\r' (and not only '\n'), and + sys.stdin uses universal newline (replace '\r\n' by '\n'). -- Issue #12821: Fix test_fcntl failures on OpenBSD 5. +- issue #11828: startswith and endswith don't accept None as slice index. + Patch by Torsten Becker. -Extension Modules ------------------ - -- Issue #12483: ctypes: Fix a crash when the destruction of a callback - object triggers the garbage collector. +- Issue #10830: Fix PyUnicode_FromFormatV("%c") for non-BMP characters on + narrow build. -- Issue #12950: Fix passing file descriptors in multiprocessing, under - OpenIndiana/Illumos. +- Issue #11168: Remove filename debug variable from PyEval_EvalFrameEx(). + It encoded the Unicode filename to UTF-8, but the encoding fails on + undecodable filename (on surrogate characters) which raises an unexpected + UnicodeEncodeError on recursion limit. -What's New in Python 3.2.2? -=========================== +- Issue #11187: Remove bootstrap code (use ASCII) of + PyUnicode_AsEncodedString(), it was replaced by a better fallback (use the + locale encoding) in PyUnicode_EncodeFSDefault(). -*Release date: 03-Sep-2011* +- Check for NULL result in PyType_FromSpec. -Core and Builtins ------------------ +- Issue #10516: New copy() and clear() methods for lists and bytearrays. -- Issue #12326: sys.platform is now always 'linux2' on Linux, even if Python - is compiled on Linux 3. +- Issue #11386: bytearray.pop() now throws IndexError when the bytearray is + empty, instead of OverflowError. -- Accept bytes for the AST string type. This is temporary until a proper fix in - 3.3. +- Issue #12380: The rjust, ljust and center methods of bytes and bytearray + now accept a bytearray argument. Library -------