Commit graph

24500 commits

Author SHA1 Message Date
Benjamin Peterson
0b9489d21d reenable test_nis on solaris #3402 2010-09-12 13:55:02 +00:00
Victor Stinner
4c7db315df Issue #9738, #9836: Fix refleak introduced by r84704 2010-09-12 07:51:18 +00:00
Raymond Hettinger
69976a7fbe Issue #9826: Handle recursive repr in collections.OrderedDict. 2010-09-12 05:28:42 +00:00
Raymond Hettinger
dc08a143e0 Issue #9826: Handle recursive repr in collections.OrderedDict. 2010-09-12 05:15:22 +00:00
Victor Stinner
ca6525afba Issue #9819: don't try to encode TESTFN_UNICODE on Windows
mbcs (Windows default filesystem encoding) is now strict by default, and
depending on the code page, TESTFN_UNICODE may not be encodable to bytes.

Remove also unused "encoded" argument from _do_directory() method.
2010-09-11 12:52:30 +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
b4ba986a71 Issue #9402: pyexpat uses Py_DECREF() instead of PyObject_DEL()
Fix a crash if Python is compiled in pydebug mode.
2010-09-10 22:25:19 +00:00
Victor Stinner
3d75d0cc92 Issue #8603: Environ.data is now protected -> Environ._data
os.environ.data was a str dict in Python 3.1. In Python 3.2 on UNIX/BSD,
os.environ.data is now a bytes dict: mark it as protected to avoid confusion.
2010-09-10 22:18:16 +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
Amaury Forgeot d'Arc
fe7b40533c The "if 1": trick seems cleaner that the one with regular expressions.
Use it here again.
2010-09-10 19:47:43 +00:00
Amaury Forgeot d'Arc
dfa9b294fa Use the "if 1:" prefix so that quoted code appears nicely
nested inside the test suite.

def test_me():
    exec("""if 1:
        ...code...
        """)

No other change here.
2010-09-10 19:40:52 +00:00
Victor Stinner
0ea31a9355 Recorded merge of revisions 83987 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83987 | victor.stinner | 2010-08-14 00:23:24 +0200 (sam., 14 août 2010) | 2 lines

  Fix a typo: TESTFN_UNENCODEABLE => TESTFN_UNENCODABLE
........
2010-09-10 12:32:58 +00:00
Victor Stinner
0d823ed434 Merged revisions 84666 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84666 | victor.stinner | 2010-09-10 13:19:59 +0200 (ven., 10 sept. 2010) | 2 lines

  Issue #9819: fix TESTFN_UNENCODABLE for japanese code page
........
2010-09-10 12:19:37 +00:00
Victor Stinner
cc676a0d7f Recorded merge of revisions 83987 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83987 | victor.stinner | 2010-08-14 00:23:24 +0200 (sam., 14 août 2010) | 2 lines

  Fix a typo: TESTFN_UNENCODEABLE => TESTFN_UNENCODABLE
........
2010-09-10 11:24:10 +00:00
Victor Stinner
8ce7df67de Issue #9819: fix TESTFN_UNENCODABLE for japanese code page 2010-09-10 11:19:59 +00:00
Raymond Hettinger
ffd2a4215a Issue 9816: Random.jumpahead(n) didn't work well for small values of n. 2010-09-10 10:47:22 +00:00
Daniel Stutzbach
460ff3dd1c Skip socket tests that require the network, if the network resource is not enabled 2010-09-09 21:17:58 +00:00
Antoine Pitrou
4c7c421944 Remove workaround 2010-09-09 20:40:28 +00:00
Antoine Pitrou
c9a8df24cc Merged revisions 84655 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84655 | antoine.pitrou | 2010-09-09 22:30:23 +0200 (jeu., 09 sept. 2010) | 6 lines

  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:33:43 +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
4e406d8ff4 Merged revisions 84650 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84650 | antoine.pitrou | 2010-09-09 15:31:46 +0200 (jeu., 09 sept. 2010) | 4 lines

  Use transient_internet() where appropriate in test_ssl
  (svn.python.org is sometimes unavailable)
........
2010-09-09 13:35:44 +00:00
Antoine Pitrou
78d8946d19 Merged revisions 84650 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84650 | antoine.pitrou | 2010-09-09 15:31:46 +0200 (jeu., 09 sept. 2010) | 4 lines

  Use transient_internet() where appropriate in test_ssl
  (svn.python.org is sometimes unavailable)
........
2010-09-09 13:33:33 +00:00
Antoine Pitrou
350c7229be Use transient_internet() where appropriate in test_ssl
(svn.python.org is sometimes unavailable)
2010-09-09 13:31:46 +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
Raymond Hettinger
44d7b6ad60 Add docstring to cmd.Cmd.do_help() 2010-09-09 03:53:22 +00:00
Giampaolo Rodolà
b383dbb45e Fix issue 9794: adds context manager protocol to socket.socket so that socket.create_connection() can be used with the 'with' statement. 2010-09-08 22:44:12 +00:00
Antoine Pitrou
7c9cf01238 gdb: fix representation of non-printable surrogate pairs, and workaround
a bug in ascii().
2010-09-08 21:57:37 +00:00
Victor Stinner
3a68f91d43 StdoutTests.test_unicode(): avoid newlines to fix the test on windows
* Add also a test for utf-8
 * Add some comments
 * Flush stdout for the buffer API tests
2010-09-08 11:45:16 +00:00
Victor Stinner
caafd77060 Issue #4947: The write() method of sys.stdout and sys.stderr uses their
encoding and errors attributes instead of using utf-8 in strict mode, to get
the same behaviour than the print statement.
2010-09-08 10:51:01 +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
Antoine Pitrou
286b8332d9 Merged revisions 84604 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84604 | antoine.pitrou | 2010-09-07 23:43:31 +0200 (mar., 07 sept. 2010) | 3 lines

  Also catch some gaierrors
........
2010-09-07 21:46:05 +00:00
Antoine Pitrou
dae0c63fc8 Merged revisions 84604 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84604 | antoine.pitrou | 2010-09-07 23:43:31 +0200 (mar., 07 sept. 2010) | 3 lines

  Also catch some gaierrors
........
2010-09-07 21:44:17 +00:00
Antoine Pitrou
2673c5bf5e Also catch some gaierrors 2010-09-07 21:43:31 +00:00
Antoine Pitrou
c818ed4d61 Merged revisions 84597-84599 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84597 | antoine.pitrou | 2010-09-07 22:42:19 +0200 (mar., 07 sept. 2010) | 5 lines

  Issue #8574: better implementation of test.support.transient_internet().
  Original patch by Victor.
........
  r84598 | antoine.pitrou | 2010-09-07 23:05:49 +0200 (mar., 07 sept. 2010) | 6 lines

  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.
........
  r84599 | antoine.pitrou | 2010-09-07 23:09:09 +0200 (mar., 07 sept. 2010) | 4 lines

  Improve transient_internet() again to detect more network errors,
  and use it in test_robotparser. Fixes #8574.
........
2010-09-07 21:40:25 +00:00
Amaury Forgeot d'Arc
4b6fdf3852 #6394: Add os.getppid() support for Windows. 2010-09-07 21:31:17 +00:00
Antoine Pitrou
4d7979be72 Merged revisions 84597-84599 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84597 | antoine.pitrou | 2010-09-07 22:42:19 +0200 (mar., 07 sept. 2010) | 5 lines

  Issue #8574: better implementation of test.support.transient_internet().
  Original patch by Victor.
........
  r84598 | antoine.pitrou | 2010-09-07 23:05:49 +0200 (mar., 07 sept. 2010) | 6 lines

  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.
........
  r84599 | antoine.pitrou | 2010-09-07 23:09:09 +0200 (mar., 07 sept. 2010) | 4 lines

  Improve transient_internet() again to detect more network errors,
  and use it in test_robotparser. Fixes #8574.
........
2010-09-07 21:22:56 +00:00
Antoine Pitrou
8bc09039ed Improve transient_internet() again to detect more network errors,
and use it in test_robotparser. Fixes #8574.
2010-09-07 21:09:09 +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
a88c83cbab Issue #8574: better implementation of test.support.transient_internet().
Original patch by Victor.
2010-09-07 20:42:19 +00:00
Antoine Pitrou
f4f6171bc0 Merged revisions 84589 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84589 | antoine.pitrou | 2010-09-07 18:30:09 +0200 (mar., 07 sept. 2010) | 5 lines

  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:34:47 +00:00
Antoine Pitrou
334e0dde1d Merged revisions 84589 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84589 | antoine.pitrou | 2010-09-07 18:30:09 +0200 (mar., 07 sept. 2010) | 5 lines

  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:32:28 +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
Raymond Hettinger
7f7561ebfc Remove invalid test (it was supposed to fail on 64-bit machines.). 2010-09-07 15:38:33 +00:00
Raymond Hettinger
c585eecfb0 Fix test that depends on a particular implementation of random.choice(). 2010-09-07 15:00:15 +00:00
Raymond Hettinger
dc4872eefe Fix corner case for Random.choice() and add tests. 2010-09-07 10:06:56 +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