Commit Graph

3210 Commits

Author SHA1 Message Date
Vinay Sajip af9d10aa30 logging: enhanced HTTPHandler 2010-09-13 20:40:30 +00:00
Victor Stinner ccb706cf0a Issue #767645: Set os.path.supports_unicode_filenames to True on Mac OS X
(macpath module).
2010-09-13 19:41:36 +00:00
Alexander Belopolsky 4d7701729c Issue #9315: Fix for the trace module to record correct class name
when tracing methods.  Unit tests. Patch by Eli Bendersky.
2010-09-13 18:14:34 +00:00
Florent Xicluna dc69e7217a Make test.regrtest.__file__ absolute, this was not always the case when running profile or trace, for example. (issue #9323) 2010-09-13 16:35:02 +00:00
Antoine Pitrou 1df1536fb9 Issue #9828: Destroy the GIL in Py_Finalize(), so that it gets properly
re-created on a subsequent call to Py_Initialize().  The problem (a crash)
wouldn't appear in 3.1 or 2.7 where the GIL's structure is more trivial.
2010-09-13 14:16:46 +00:00
Amaury Forgeot d'Arc feb7307db4 #9210: remove --with-wctype-functions configure option.
The internal unicode database is now always used.

(after 5 years: see
  http://mail.python.org/pipermail/python-dev/2004-December/050193.html
)
2010-09-12 22:42:57 +00:00
Georg Brandl b084b48cec 9806: add --extension-suffix option to python-config. 2010-09-12 17:14:26 +00:00
Matthias Klose 62d52fd966 - Issue #9817: Add expat COPYING file; add expat, libffi and expat licenses
to Doc/license.rst.
2010-09-12 16:31:58 +00:00
Antoine Pitrou 6464d5ffdc Issue #9837: The read() method of ZipExtFile objects (as returned by
ZipFile.open()) could return more bytes than requested.
2010-09-12 14:51:20 +00:00
Raymond Hettinger dc08a143e0 Issue #9826: Handle recursive repr in collections.OrderedDict. 2010-09-12 05:15:22 +00:00
Raymond Hettinger fa11db0a02 Issue #9825: Replace OrderedDict.__del__() with weakrefs. 2010-09-12 04:12:42 +00:00
Benjamin Peterson 568867a6f2 check for NULL tp_as_mapping in PySequence_(Get/Set/Del)Slice #9834 2010-09-11 16:02:03 +00:00
Victor Stinner 1205f2774e Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on
a non-ASCII byte in the format string.

Document also the encoding.
2010-09-11 00:54:47 +00:00
Victor Stinner 6f7b783cde Issue #9579, #9580: Oops, add the author of the patch 2010-09-10 23:50:31 +00:00
Victor Stinner cb04352e8c Issue #9579, #9580: Fix os.confstr() for value longer than 255 bytes and encode
the value with filesystem encoding and surrogateescape (instead of utf-8 in
strict mode).
2010-09-10 23:49:04 +00:00
Victor Stinner 5b519e0201 Issue #9632: Remove sys.setfilesystemencoding() function: use PYTHONFSENCODING
environment variable to set the filesystem encoding at Python startup.
sys.setfilesystemencoding() creates inconsistencies because it is unable to
reencode all filenames in all objects.
2010-09-10 21:57:59 +00:00
Amaury Forgeot d'Arc ba117ef7e9 #4617: Previously it was illegal to delete a name from the local
namespace if it occurs as a free variable in a nested block.  This limitation
of the compiler has been lifted, and a new opcode introduced (DELETE_DEREF).

This sample was valid in 2.6, but fails to compile in 3.x without this change::

   >>> def f():
   ...     def print_error():
   ...        print(e)
   ...     try:
   ...        something
   ...     except Exception as e:
   ...        print_error()
   ...        # implicit "del e" here


This sample has always been invalid in Python, and now works::

   >>> def outer(x):
   ...     def inner():
   ...        return x
   ...     inner()
   ...     del x

There is no need to bump the PYC magic number: the new opcode is used
for code that did not compile before.
2010-09-10 21:39:53 +00:00
Antoine Pitrou 8e6b407d6f Issue #941346: Improve the build process under AIX and allow Python to
be built as a shared library.  Patch by Sébastien Sablé.
2010-09-10 19:44:44 +00:00
Antoine Pitrou e4a189274f Issue #9804: ascii() now always represents unicode surrogate pairs as
a single `\UXXXXXXXX`, regardless of whether the character is printable
or not.  Also, the "backslashreplace" error handler now joins surrogate
pairs into a single character on UCS-2 builds.
2010-09-09 20:30:23 +00:00
Antoine Pitrou ea99c5c949 Issue #9410: Various optimizations to the pickle module, leading to
speedups up to 4x (depending on the benchmark).  Mostly ported from
Unladen Swallow; initial patch by Alexandre Vassalotti.
2010-09-09 18:33:21 +00:00
Antoine Pitrou 6e6cc830c4 Issue #9757: memoryview objects get a release() method to release the
underlying buffer (previously this was only done when deallocating the
memoryview), and gain support for the context management protocol.
2010-09-09 12:59:39 +00:00
Raymond Hettinger bad3c88094 Have pprint() respect the order in an OrderedDict. 2010-09-09 12:31:00 +00:00
Antoine Pitrou b41e128fe1 Issue #9188: The gdb extension now handles correctly narrow (UCS2) as well
as wide (UCS4) unicode builds for both the host interpreter (embedded
inside gdb) and the interpreter under test.
2010-09-08 20:57:48 +00:00
Antoine Pitrou 079ce54efe Issue #9797: pystate.c wrongly assumed that zero couldn't be a valid
thread-local storage key.
2010-09-08 12:37:10 +00:00
Vinay Sajip 121a1c4e11 logging: Added QueueHandler. 2010-09-08 10:46:15 +00:00
Antoine Pitrou 783eea722b Issue #9707: Rewritten reference implementation of threading.local which
is friendlier towards reference cycles.  This change is not normally
visible since an optimized C implementation (_thread._local) is used
instead.
2010-09-07 22:06:17 +00:00
Amaury Forgeot d'Arc 4b6fdf3852 #6394: Add os.getppid() support for Windows. 2010-09-07 21:31:17 +00:00
Antoine Pitrou 4b92b5fad3 Issue #9792: In case of connection failure, socket.create_connection()
would swallow the exception and raise a new one, making it impossible
to fetch the original errno, or to filter timeout errors.  Now the
original error is re-raised.
2010-09-07 21:05:49 +00:00
Antoine Pitrou 5e38aae91b Issue #9758: When fcntl.ioctl() was called with mutable_flag set to True,
and the passed buffer was exactly 1024 bytes long, the buffer wouldn't
be updated back after the system call.  Original patch by Brian Brazil.
2010-09-07 16:30:09 +00:00
Antoine Pitrou a300007c6e Issue #4026: Make the fcntl extension build under AIX.
Patch by Sébastien Sablé.
2010-09-07 14:52:42 +00:00
Raymond Hettinger 0515661314 Issues #7889, #9025 and #9379: Improvements to the random module. 2010-09-07 04:44:52 +00:00
Raymond Hettinger f763a728ad Document which part of the random module module are guaranteed. 2010-09-07 00:38:15 +00:00
Raymond Hettinger 435cb0f233 Document which part of the random module module are guaranteed. 2010-09-06 23:36:31 +00:00
Raymond Hettinger f45abc97bf Add method to OrderedDict for repositioning keys to the ends. 2010-09-06 21:26:09 +00:00
Antoine Pitrou 4bc12ef47d Issue #9754: Similarly to assertRaises and assertRaisesRegexp, unittest
test cases now also have assertWarns and assertWarnsRegexp methods to
check that a given warning type was triggered by the code under test.
2010-09-06 19:25:46 +00:00
Antoine Pitrou 972ee13e03 Issue #5506: BytesIO objects now have a getbuffer() method exporting a
view of their contents without duplicating them.  The view is both readable
and writable.
2010-09-06 18:48:21 +00:00
Brian Curtin 6285774f06 Implement #7566 - os.path.sameopenfile for Windows.
This uses the GetFileInformationByHandle function to return a tuple of values
to identify a file, then ntpath.sameopenfile compares file tuples, which
is exposed as os.path.sameopenfile.
2010-09-06 17:07:27 +00:00
Gregory P. Smith 13b55291ac hashlib has two new constant attributes: algorithms_guaranteed and
algorithms_avaiable that respectively list the names of hash algorithms
guaranteed to exist in all Python implementations and the names of hash
algorithms available in the current process.

Renames the attribute new in 3.2a0 'algorithms' to 'algorithms_guaranteed'.
2010-09-06 08:30:23 +00:00
Antoine Pitrou 0d739d7047 Issue #9293: I/O streams now raise `io.UnsupportedOperation` when an
unsupported operation is attempted (for example, writing to a file open
only for reading).
2010-09-05 23:01:12 +00:00
Georg Brandl bad092556e Post-release update. 2010-09-05 21:29:17 +00:00
Georg Brandl 65ce6ada7f Fix reST in NEWS, and remove NEWS.help (all committers should now know reST anyway, and for those who do not, there is Documenting Python.) 2010-09-05 17:32:31 +00:00
Georg Brandl 649971e63b Rewrap. 2010-09-05 17:06:50 +00:00
Georg Brandl 58a7b46075 Bump to 3.2a2. 2010-09-05 08:30:40 +00:00
Raymond Hettinger 4c7c9af542 Clean-up functools.total_ordering(). 2010-09-05 05:57:35 +00:00
Raymond Hettinger 46462f3fb3 Typo 2010-09-05 00:36:26 +00:00
Antoine Pitrou 0049249d63 Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file
descriptor is provided.  Patch by Pascal Chambon.
2010-09-04 20:53:29 +00:00
Antoine Pitrou 7d6e076f6d Issue #7451: Improve decoding performance of JSON objects, and reduce
the memory consumption of said decoded objects when they use the same
strings as keys.
2010-09-04 20:16:53 +00:00
Antoine Pitrou 74a69fa662 Issue #9225: Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced
by the new (and simpler) DUP_TOP_TWO.  Performance isn't changed, but
our bytecode is a bit simplified.  Patch by Demur Rumed.
2010-09-04 18:43:52 +00:00
Brett Cannon ef0e6c3b04 _warnings exposed two variables with the name 'default_action' and
'once_registry'. This is bad as the warnings module had variables named
'defaultaction' and 'onceregistry' which are what people should be looking at
(technically those variables shouldn't be mucked with as they are undocumented,
but we all know better than to believe that isn't happening). So the variables
from _warnings have been renamed to come off as private and to avoid confusion
over what variable should be used.

Closes issue #9766. Thanks to Antoine Pitrou for the discovery.
2010-09-04 18:24:04 +00:00
Antoine Pitrou 3941a8fece Issue #1100562: Fix deep-copying of objects derived from the list and dict types.
Patch by Michele Orrù and Björn Lindqvist.
2010-09-04 17:40:21 +00:00
Antoine Pitrou d3ccde8a21 Issue #7736: Release the GIL around calls to opendir() and closedir()
in the posix module.  Patch by Marcin Bachry.
2010-09-04 17:21:57 +00:00
Martin v. Löwis a5e3109154 Issue #1303434: Include PDBs in release.
Patch by James Lee and Daniel Stutzbach.
2010-09-04 14:38:09 +00:00
Fred Drake cc645b9a59 add consistent support for the vars and default arguments on all
configuration parser classes
(http://bugs.python.org/issue9421)
2010-09-04 04:35:34 +00:00
Barry Warsaw aa44b2b5ca NEWS for PEP 3149, and clean up a few other entries. 2010-09-03 18:36:11 +00:00
Antoine Pitrou 8b358e55db Fix NEWS entry. 2010-09-03 16:12:14 +00:00
Daniel Stutzbach 6c765284a3 Fix Issue9753: socket.dup() does not always work right on Windows 2010-09-03 12:38:33 +00:00
Fred Drake 8844441ae6 fix output from RawConfigParser.write and ConfigParser.write for None
values (http://bugs.python.org/issue7005)
(merged r84443 from the release27-mmaint branch, with changes to reflect
changes in Python 3)
2010-09-03 04:22:36 +00:00
Daniel Stutzbach 19e5a6fb4a Credit where credit is due 2010-09-02 15:13:35 +00:00
Daniel Stutzbach 045b3ba184 Issue #9212: Added the missing isdisjoint method to the dict_keys and
dict_items views.  The method is required by the collections.Set ABC,
which the views register as supporting.
2010-09-02 15:06:06 +00:00
Antoine Pitrou e0793ba992 Issue #9737: Fix a crash when trying to delete a slice or an item from
a memoryview object.
2010-09-01 21:14:16 +00:00
Antoine Pitrou 1ce3eb5c5b Issue #8990: array.fromstring() and array.tostring() get renamed to
frombytes() and tobytes(), respectively, to avoid confusion.  Furthermore,
array.frombytes(), array.extend() as well as the array.array()
constructor now accept bytearray objects.  Patch by Thomas Jollans.
2010-09-01 20:29:34 +00:00
Antoine Pitrou fce7fd6426 Issue #9549: sys.setdefaultencoding() and PyUnicode_SetDefaultEncoding()
are now removed, since their effect was inexistent in 3.x (the default
encoding is hardcoded to utf-8 and cannot be changed).
2010-09-01 18:54:56 +00:00
Antoine Pitrou b0fa831d1e Issue #7415: PyUnicode_FromEncodedObject() now uses the new buffer API
properly.  Patch by Stefan Behnel.
2010-09-01 15:10:12 +00:00
Antoine Pitrou f68c2a701b Issue #3101: Helper functions _add_one_to_C() and _add_one_to_F() become
_Py_add_one_to_C() and _Py_add_one_to_F(), respectively.
2010-09-01 12:58:21 +00:00
Daniel Stutzbach 19d6a4fd49 Issue #808164: Fixed socket.close to avoid references to globals, to
avoid issues when socket.close is called from a __del__ method.
2010-08-31 20:08:07 +00:00
Daniel Stutzbach a606faa491 Issue 5553: Improved Py_LOCAL_INLINE to actually inline under compilers other than MSC 2010-08-31 19:51:07 +00:00
Antoine Pitrou 33a299428d Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x. Patch by
Sébastien Sablé.
2010-08-30 14:52:00 +00:00
Benjamin Peterson 33856de84d handle names starting with non-ascii characters correctly #9712 2010-08-30 14:41:20 +00:00
Giampaolo Rodolà 51078b1e5d update Misc/NEWS to include issue #9706 changes 2010-08-29 19:31:49 +00:00
Antoine Pitrou 67c7ce4bef Issue #4835: make PyLong_FromSocket_t() and PyLong_AsSocket_t() private
to the socket module, and fix the width of socket descriptors to be
correctly detected under 64-bit Windows.
2010-08-28 20:42:55 +00:00
Antoine Pitrou 1a9a9d5433 Issue #1868: Eliminate subtle timing issues in thread-local objects by
getting rid of the cached copy of thread-local attribute dictionary.
2010-08-28 18:17:03 +00:00
Mark Dickinson 64a38c0eb5 Issue #1512791: In setframerate method of Wave_write, round non-integral
inputs to the nearest integer.  Thanks Neil Tallim for the patch.
2010-08-28 17:22:16 +00:00
Senthil Kumaran 4bb5c273c6 Fix Issue8797 - Reset the basic auth retry count when response code is not 401. 2010-08-26 06:16:22 +00:00
Benjamin Peterson 0e10206f2c basicsize and itemsize are Py_ssize_t #9688 2010-08-25 23:13:17 +00:00
Daniel Stutzbach 864078a5dd Issue 8781: Define SIZEOF_WCHAR_T on Windows 2010-08-25 19:18:59 +00:00
Martin v. Löwis 112c0f3411 Issue #1027206: getnameinfo is now restricted to numeric addresses as input. 2010-08-25 07:38:15 +00:00
R. David Murray 219d1c8ae3 #1194222: make parsedate always return RFC2822 four character years.
Two character years are now converted to four character years using
the Posix standard rule (<68 == 2000, >=68==1900).  This makes the
parsed date RFC2822 compliant even if the input is not.

Patch and test by Jeffrey Finkelstein.
2010-08-25 00:45:55 +00:00
Benjamin Peterson f52c2c63cd further clarify 2010-08-24 21:03:37 +00:00
Daniel Stutzbach 31da5b2f69 Issue 8750: Fixed MutableSet's methods to correctly handle reflexive operations, namely x -= x and x ^= x 2010-08-24 20:49:57 +00:00
Benjamin Peterson 17689991e6 only catch AttributeError in hasattr() #9666 2010-08-24 03:26:23 +00:00
Giampaolo Rodolà 9cf5ef4cc0 fix issue 9129: adds proper error handling on accept() when smtpd accepts new incoming connections. 2010-08-23 22:28:13 +00:00
Giampaolo Rodolà bbc4782d77 fix issue 9601: ftplib now provides a workaround for invalid response code returned on MKD and PWD by non-compliant FTPserver implementations such as ISS shipped with Windows server 2003 2010-08-23 22:10:32 +00:00
Giampaolo Rodolà 76fc8c7098 fix issue 658749: correctly interprets asyncore's windows errors on connect() 2010-08-23 21:53:41 +00:00
Vinay Sajip de6e9d615d Issue #9501: Fixed logging regressions in cleanup code. 2010-08-23 17:50:30 +00:00
Benjamin Peterson 06b8b10090 news note for last change 2010-08-23 17:47:43 +00:00
Brett Cannon ee6d64773b One of the joys of having test_multiprocessing occasionally execute after
test_importlib is that it discovers special little race conditions. For
instance, it turns out that importlib would throw an exception if two different
Python processes both tried to create the __pycache__ directory as one process
would succeed, causing the other process to fail as it didn't expect to get any
"help". So now importlib simply stays calm and just accepts someone else did
the work of creating the __pycache__ directory for it, moving on with life.

Closes issue #9572.
2010-08-22 22:19:11 +00:00
Martin v. Löwis 56773cf0d2 Mention that gethostbyaddr now also supports IDNA. 2010-08-22 19:38:04 +00:00
Martin v. Löwis fc0275a14a Issue #1027206: Support IDNA in gethostbyname, gethostbyname_ex and
getaddrinfo. Patch by David Watson.
2010-08-22 19:33:47 +00:00
Raymond Hettinger 9117c75148 Issue #9214: Fix set operations on KeysView and ItemsView. 2010-08-22 07:44:24 +00:00
Antoine Pitrou b46b9d59ef Issue #9617: Signals received during a low-level write operation aren't
ignored by the buffered IO layer anymore.
2010-08-21 19:09:32 +00:00
Giampaolo Rodolà 5fe9cd53b2 revert changes made in r84236 committed by accident 2010-08-21 18:47:59 +00:00
Giampaolo Rodolà 5c8c9a2c33 fix issue #9129: added proper error handling when accepting new connections in SMTPServer.handle_accept 2010-08-21 18:35:05 +00:00
Benjamin Peterson 23110e7361 alias macintosh to mac_roman #843590 2010-08-21 02:54:44 +00:00
Martin v. Löwis 5ea823cf55 Decode NIS data to fs encoding, using the surrogate error handler. 2010-08-19 09:11:51 +00:00
Victor Stinner e8d5145e18 Create os.fsdecode(): decode from the filesystem encoding with surrogateescape
error handler, or strict error handler on Windows.

 * Rewrite os.fsencode() documentation
 * Improve os.fsencode and os.fsdecode() tests using the new PYTHONFSENCODING
   environment variable
2010-08-19 01:05:19 +00:00
Andrew M. Kuchling 4ea04a306f #7647: add ST_RDONLY, ST_NOSUID constants to os module.
(Also fix a name ordering in the ACKS file.)
2010-08-18 22:30:34 +00:00
Victor Stinner 94908bbc15 Issue #8622: Add PYTHONFSENCODING environment variable to override the
filesystem encoding.

initfsencoding() displays also a better error message if get_codeset() failed.
2010-08-18 21:23:25 +00:00
Antoine Pitrou b85e165635 Issue #5737: Add Solaris-specific mnemonics in the errno module. Patch by
Matthew Ahrens.
2010-08-18 21:05:19 +00:00
Amaury Forgeot d'Arc 324ac65ceb #5127: Even on narrow unicode builds, the C functions that access the Unicode
Database (Py_UNICODE_TOLOWER, Py_UNICODE_ISDECIMAL, and others) now accept
and return characters from the full Unicode range (Py_UCS4).

The differences from Python code are few:
- unicodedata.numeric(), unicodedata.decimal() and unicodedata.digit()
  now return the correct value for large code points
- repr() may consider more characters as printable.
2010-08-18 20:44:58 +00:00
Martin v. Löwis dfaf9ec93a Restore GIL in nis_cat in case of error. 2010-08-18 16:12:23 +00:00