Commit Graph

2799 Commits

Author SHA1 Message Date
Victor Stinner 9ca9c25bcd Issue #8589: Decode PYTHONWARNINGS environment variable with the file system
encoding and surrogateespace error handler instead of the locale encoding to be
consistent with os.environ. Add PySys_AddWarnOptionUnicode() function.
2010-05-19 16:53:30 +00:00
Victor Stinner b745a74c99 Issue #8513: os.get_exec_path() supports b'PATH' key and bytes value.
subprocess.Popen() and os._execvpe() support bytes program name. Add
os.supports_bytes_environ flag: True if the native OS type of the environment
is bytes (eg. False on Windows).
2010-05-18 17:17:23 +00:00
Lars Gustäbel 1465cc2887 Issue #8633: Support for POSIX.1-2008 binary pax headers.
tarfile is now able to read and write pax headers with a
"hdrcharset=BINARY" record. This record was introduced in
POSIX.1-2008 as a method to store unencoded binary strings that
cannot be translated to UTF-8. In practice, this is just a workaround
that allows a tar implementation to store filenames that do not
comply with the current filesystem encoding and thus cannot be
decoded correctly.
Additionally, tarfile works around a bug in current versions of GNU
tar: undecodable filenames are stored as-is in a pax header without a
"hdrcharset" record being added. Technically, these headers are
invalid, but tarfile manages to read them correctly anyway.
2010-05-17 18:02:50 +00:00
Florent Xicluna c7b8e8682e Issue #1285086: Speed up urllib.parse functions: quote, quote_from_bytes, unquote, unquote_to_bytes.
Recorded merge of revisions 81265 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81265 | florent.xicluna | 2010-05-17 15:35:09 +0200 (lun, 17 mai 2010) | 2 lines

  Issue #1285086: Speed up urllib.quote and urllib.unquote for simple cases.
........
2010-05-17 17:33:07 +00:00
Tarek Ziadé c16a85c46d Merged revisions 81255 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81255 | tarek.ziade | 2010-05-17 12:06:20 +0200 (Mon, 17 May 2010) | 1 line

  Fixed #8688: Distutils now recalculates MANIFEST everytime.
........
2010-05-17 10:38:53 +00:00
Victor Stinner 372ac5e732 PyObject_Dump() encodes unicode objects to utf8 with backslashreplace (instead
of strict) error handler to escape surrogates
2010-05-17 01:26:01 +00:00
Victor Stinner f9faaad801 Issue #8477: ssl.RAND_egd() supports str with surrogates and bytes for the path 2010-05-16 21:36:37 +00:00
Victor Stinner 3800e1e961 Issue #8477: _ssl._test_decode_cert() supports str with surrogates and bytes
for the filename
2010-05-16 21:23:48 +00:00
Antoine Pitrou 152efa2ae2 Issue #8550: Add first class `SSLContext` objects to the ssl module. 2010-05-16 18:19:27 +00:00
Victor Stinner e125f1355a Recorded merge of revisions 81205 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81205 | victor.stinner | 2010-05-15 23:00:59 +0200 (sam., 15 mai 2010) | 2 lines

  NEWS: strip trailing spaces
........
2010-05-15 21:04:43 +00:00
Benjamin Peterson 0c3d21de05 fix one more runon 2010-05-15 17:43:57 +00:00
Mark Dickinson 4c8a9a2df3 Issue #8692: Improve performance of math.factorial:
(1) use a different algorithm that roughly halves the total number of
    multiplications required and results in more balanced multiplications
(2) use a lookup table for small arguments
(3) fast accumulation of products in C integer arithmetic rather than
    PyLong arithmetic when possible.

Typical speedup, from unscientific testing on a 64-bit laptop, is 4.5x
to 6.5x for arguments in the range 100 - 10000.

Patch by Daniel Stutzbach; extensive reviews by Alexander Belopolsky.
2010-05-15 17:02:38 +00:00
Victor Stinner ae6265f8d0 Issue #8715: Create PyUnicode_EncodeFSDefault() function: Encode a Unicode
object to Py_FileSystemDefaultEncoding with the "surrogateescape" error
handler, return a bytes object. If Py_FileSystemDefaultEncoding is not set,
fall back to UTF-8.
2010-05-15 16:27:27 +00:00
Victor Stinner 59e62db0a3 Enable shortcuts for common encodings in PyUnicode_AsEncodedString() for any
error handler, not only the default error handler (strict)
2010-05-15 13:14:32 +00:00
Victor Stinner b744ba1d14 Issue #8610: Load file system codec at startup, and display a fatal error on
failure. Set the file system encoding to utf-8 (instead of None) if getting
the locale encoding failed, or if nl_langinfo(CODESET) function is missing.
2010-05-15 12:27:16 +00:00
Antoine Pitrou 53b2166f0b Merged revisions 81098 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81098 | antoine.pitrou | 2010-05-12 01:42:28 +0200 (mer., 12 mai 2010) | 5 lines

  Issue #8681: Make the zlib module's error messages more informative when
  the zlib itself doesn't give any detailed explanation.
........
2010-05-11 23:46:02 +00:00
Antoine Pitrou c09c92fd81 Merged revisions 81094 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81094 | antoine.pitrou | 2010-05-12 01:32:31 +0200 (mer., 12 mai 2010) | 6 lines

  Issue #8672: Add a zlib test ensuring that an incomplete stream can be
  handled by a decompressor object without errors (it returns incomplete
  uncompressed data).
........
2010-05-11 23:36:40 +00:00
Mark Dickinson 81fece2d63 Issue #8657: Make the audioop module PY_SSIZE_T_CLEAN. 2010-05-11 13:34:35 +00:00
Mark Dickinson 85eacea31e Merged revisions 81045 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81045 | mark.dickinson | 2010-05-10 17:07:42 +0100 (Mon, 10 May 2010) | 3 lines

  Issue #8674: Fix incorrect and UB-inducing overflow checks in audioop
  module.  Thanks Tomas Hoger for the patch.
........
2010-05-10 16:27:45 +00:00
Giampaolo Rodolà bd576b75b7 Fix issue #4972: adds ftplib.FTP context manager protocol 2010-05-10 14:53:29 +00:00
Jean-Paul Calderone 6f137ca469 Merged revisions 81007 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81007 | jean-paul.calderone | 2010-05-08 16:06:02 -0400 (Sat, 08 May 2010) | 1 line

  Skip signal handler re-installation if it is not necessary.  Issue 8354.
........
2010-05-09 03:18:57 +00:00
Benjamin Peterson e87c0fcd16 add news for r81005 2010-05-08 19:52:49 +00:00
Mark Dickinson 0381e3f16a Issue #8644: Improve accuracy of timedelta.total_seconds, by doing intermediate
computations with integer arithmetic instead of floating point.
td.total_seconds() now agrees with td / timedelta(seconds = 1).

Thanks Alexander Belopolsky for the patch.
2010-05-08 14:35:02 +00:00
Victor Stinner 449c466e7d Issue #8514: Add os.fsencode() function (Unix only): encode a string to bytes
for use in the file system, environment variables or the command line.
2010-05-08 11:10:09 +00:00
Ronald Oussoren 4cda46ab91 Merged revisions 80967 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80967 | ronald.oussoren | 2010-05-08 12:29:06 +0200 (Sat, 08 May 2010) | 4 lines

  Issue #8084: ensure that the --user directory
  conforms to platforms standars on OSX when
  using a python framework.
........
2010-05-08 10:49:43 +00:00
Antoine Pitrou 8956271f11 Merged revisions 80926 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80926 | antoine.pitrou | 2010-05-07 18:50:34 +0200 (ven., 07 mai 2010) | 5 lines

  Issue #8571: Fix an internal error when compressing or decompressing a
  chunk larger than 1GB with the zlib module's compressor and decompressor
  objects.
........
2010-05-07 17:04:02 +00:00
Benjamin Peterson 225168ed56 rephrase 2010-05-06 22:29:53 +00:00
Victor Stinner 84ae118006 Issue #8603: Create a bytes version of os.environ for Unix
Create os.environb mapping and os.getenvb() function, os.unsetenv() encodes str
argument to the file system encoding with the surrogateescape error handler
(instead of utf8/strict) and accepts bytes, and posix.environ keys and values
are bytes.
2010-05-06 22:05:07 +00:00
Giampaolo Rodolà 8d2dc85154 Merged revisions 80875 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80875 | giampaolo.rodola | 2010-05-06 19:57:06 +0200 (gio, 06 mag 2010) | 1 line

  Fix asyncore issues 8573 and 8483: _strerror might throw ValueError; asyncore.__getattr__ cheap inheritance caused confusing error messages when accessing undefined class attributes; added an alias for __str__ which now is used as a fallback for __repr__
........
2010-05-06 18:06:30 +00:00
Mark Dickinson b2153e9d08 Merged revisions 80832 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80832 | mark.dickinson | 2010-05-05 23:23:58 +0100 (Wed, 05 May 2010) | 2 lines

  Issue #8625:  Turn off gcc optimization in debug builds.
........
2010-05-05 22:31:36 +00:00
Tarek Ziadé ae4d5c6b64 Merged revisions 80830 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80830 | tarek.ziade | 2010-05-06 00:15:31 +0200 (Thu, 06 May 2010) | 1 line

  Fixed #4265: shutil.copyfile() was leaking file descriptors when disk fills
........
2010-05-05 22:27:31 +00:00
Victor Stinner de629d46f2 Issue #8390: tarfile uses surrogateespace as the default error handler
(instead of replace in read mode or strict in write mode)
2010-05-05 21:43:57 +00:00
Barry Warsaw 83d8998390 Bug 7755: audiotest.au is arguably copyrighted material, but definitely makes
Debian unhappy.  The actual contents of the audio clip are unimportant, so
replace it with something that we know is okay.  Guido likes woodpeckers.
2010-05-05 16:18:31 +00:00
Ronald Oussoren ac764d3d5f Merged revisions 80784 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80784 | ronald.oussoren | 2010-05-05 16:48:37 +0200 (Wed, 05 May 2010) | 9 lines

  The C function used by uuid.uuid4 is broken on
  OSX 10.6 in that after os.fork() the parent and
  child generate the same sequence of UUIDs.

  This patch falls back to the the Python implementation
  on OSX 10.6 or later.

  Fixes issue #8621.
........
2010-05-05 15:32:33 +00:00
Marc-André Lemburg 177ab08f96 Merged revisions 80782 via svnmerge from
svn+pythonssh://pythondev@svn.python.org/python/trunk

........
  r80782 | marc-andre.lemburg | 2010-05-05 15:30:01 +0200 (Wed, 05 May 2010) | 3 lines

  Update the NEWS entry for issue #8211.
........
2010-05-05 13:32:59 +00:00
Mark Dickinson c69160e808 Merged revisions 80753 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80753 | mark.dickinson | 2010-05-04 15:25:50 +0100 (Tue, 04 May 2010) | 10 lines

  Issue #8567: Fix incorrect precedence of signals in Decimal module.

  When a Decimal operation raises multiple signals and more than one of
  those signals is trapped, the specification determines the order in
  which the signals should be handled.  In many cases this order wasn't
  being followed, leading to the wrong Python exception being raised.
  This commit fixes those cases, and adds extra tests.  The tests are
  only enabled when EXTENDEDERRORTESTS is True, since they involve
  rerunning each Decimal testcase several times.
........
2010-05-04 14:35:33 +00:00
Jesus Cea 6a792298e7 Deprecate OSF* support 2010-05-03 21:18:48 +00:00
Antoine Pitrou 6be8876623 Merged revisions 80720 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80720 | antoine.pitrou | 2010-05-03 18:25:33 +0200 (lun., 03 mai 2010) | 5 lines

  Issue #7865: The close() method of :mod:`io` objects should not swallow
  exceptions raised by the implicit flush().  Also ensure that calling
  close() several times is supported.  Patch by Pascal Chambon.
........
2010-05-03 16:48:20 +00:00
Antoine Pitrou 6e20a1bdf0 Merged revisions 80704 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80704 | antoine.pitrou | 2010-05-02 21:51:14 +0200 (dim., 02 mai 2010) | 4 lines

  Issue #4687: Fix accuracy of garbage collection runtimes displayed with
  gc.DEBUG_STATS.
........
2010-05-02 19:59:47 +00:00
Victor Stinner f58087ba29 Issue #8533: revert r80694; try a different fix: regrtest uses backslashreplace
error handler for stdout to avoid UnicodeEncodeError (write non-ASCII character
to stdout using ASCII encoding)
2010-05-02 17:24:51 +00:00
Ronald Oussoren 4d39f6e09a Merged revisions 80698 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80698 | ronald.oussoren | 2010-05-02 11:48:21 +0200 (Sun, 02 May 2010) | 3 lines

  For for issue #7192: with this patch webbrowser.get("firefox")
  works on OSX
........
2010-05-02 09:54:35 +00:00
Victor Stinner 0d80a5874a Issue #8533: Write tracebacks and failed tests to sys.stderr instead of
sys.stdout to avoid UnicodeEncodeError (use backslashreplace error handler)
2010-05-02 09:37:08 +00:00
Antoine Pitrou 043bad00bc Merged revisions 80669 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80669 | antoine.pitrou | 2010-05-01 01:08:48 +0200 (sam., 01 mai 2010) | 4 lines

  Issue #8576: Remove use of find_unused_port() in test_smtplib and
  test_multiprocessing.  Patch by Paul Moore.
........
2010-04-30 23:20:15 +00:00
Victor Stinner 0964ee1cf5 PyFile_FromFd() uses PyUnicode_DecodeFSDefault() instead of
PyUnicode_FromString() to support surrogates in the filename and use the right
encoding
2010-04-30 16:48:45 +00:00
Victor Stinner b9a20ad036 PyUnicode_DecodeFSDefaultAndSize() uses surrogateescape error handler
This function is only used to decode Python module filenames, but Python
doesn't support surrogates in modules filenames yet. So nobody noticed this
minor bug.
2010-04-30 16:37:52 +00:00
Ronald Oussoren 86b33c872d Merged revisions 80647 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80647 | ronald.oussoren | 2010-04-30 13:20:14 +0200 (Fri, 30 Apr 2010) | 11 lines

  Fix for issue #3646: with this patch it is possible to do a
  framework install of Python in your home directory (on OSX):

     $ configure --enable-framework=${HOME}/Library/Frameworks
     $ make && make install

  Without this patch the framework would get installed just fine,
  but 'make install' would try to install the application bundles
  and command-line tools outside the user's home, which doesn't work
  for non-admin users (and is bad form anyway).
........
2010-04-30 11:41:56 +00:00
Lars Gustäbel d6eb70b7b4 Merged revisions 80616 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80616 | lars.gustaebel | 2010-04-29 17:23:38 +0200 (Thu, 29 Apr 2010) | 4 lines

  Issue #8464: tarfile.open(name, mode="w|") no longer creates
  files with execute permissions set.
........
2010-04-29 15:37:02 +00:00
Antoine Pitrou bf043491a1 Merged revisions 80610 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80610 | antoine.pitrou | 2010-04-29 12:05:40 +0200 (jeu., 29 avril 2010) | 4 lines

  Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions
  of the Linux kernel.  Patch by Yaniv Aknin.
........
2010-04-29 10:11:46 +00:00
Victor Stinner 45df820591 Merged revisions 80552-80556,80564-80566,80568-80571 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80552 | victor.stinner | 2010-04-27 23:46:03 +0200 (mar., 27 avril 2010) | 3 lines

  Issue #7449, part 1: fix test_support.py for Python compiled without thread
........
  r80553 | victor.stinner | 2010-04-27 23:47:01 +0200 (mar., 27 avril 2010) | 1 line

  Issue #7449, part 2: regrtest.py -j option requires thread support
........
  r80554 | victor.stinner | 2010-04-27 23:51:26 +0200 (mar., 27 avril 2010) | 9 lines

  Issue #7449 part 3, test_doctest: import trace module in test_coverage()

  Import trace module fail if the threading module is missing. test_coverage() is
  only used if test_doctest.py is used with the -c option. This commit allows to
  execute the test suite without thread support.

  Move "import trace" in test_coverage() and use
  test_support.import_module('trace').
........
  r80555 | victor.stinner | 2010-04-27 23:56:26 +0200 (mar., 27 avril 2010) | 6 lines

  Issue #7449, part 4: skip test_multiprocessing if thread support is disabled

  import threading after _multiprocessing to raise a more revelant error message:
  "No module named _multiprocessing". _multiprocessing is not compiled without
  thread support.
........
  r80556 | victor.stinner | 2010-04-28 00:01:24 +0200 (mer., 28 avril 2010) | 8 lines

  Issue #7449, part 5: split Test.test_open() of ctypes/test/test_errno.py

   * Split Test.test_open() in 2 functions: test_open() and test_thread_open()
   * Skip test_open() and test_thread_open() if we are unable to find the C
     library
   * Skip test_thread_open() if thread support is disabled
   * Use unittest.skipUnless(os.name == "nt", ...) on test_GetLastError()
........
  r80564 | victor.stinner | 2010-04-28 00:59:35 +0200 (mer., 28 avril 2010) | 4 lines

  Issue #7449, part 6: fix test_hashlib for missing threading module

  Move @test_support.reap_thread decorator from test_main() to test_threaded_hashing().
........
  r80565 | victor.stinner | 2010-04-28 01:01:29 +0200 (mer., 28 avril 2010) | 6 lines

  Issue #7449, part 7: simplify threading detection in test_capi

   * Skip TestPendingCalls if threading module is missing
   * Test if threading module is present or not, instead of test the presence of
     _testcapi._test_thread_state
........
  r80566 | victor.stinner | 2010-04-28 01:03:16 +0200 (mer., 28 avril 2010) | 4 lines

  Issue #7449, part 8: don't skip the whole test_asynchat if threading is missing

  TestFifo can be executed without the threading module
........
  r80568 | victor.stinner | 2010-04-28 01:14:58 +0200 (mer., 28 avril 2010) | 6 lines

  Issue #7449, part 9: fix test_xmlrpclib for missing threading module

   * Skip testcases using threads if threading module is missing
   * Use "http://" instead of URL in ServerProxyTestCase if threading is missing
     because URL is not set in this case
........
  r80569 | victor.stinner | 2010-04-28 01:33:58 +0200 (mer., 28 avril 2010) | 6 lines

  Partial revert of r80556 (Issue #7449, part 5, fix ctypes test)

  Rewrite r80556: the thread test have to be executed just after the test on
  libc_open() and so the test cannot be splitted in two functions (without
  duplicating code, and I don't want to duplicate code).
........
  r80570 | victor.stinner | 2010-04-28 01:51:16 +0200 (mer., 28 avril 2010) | 8 lines

  Issue #7449, part 10: test_cmd imports trace module using test_support.import_module()

  Use test_support.import_module() instead of import to raise a SkipTest
  exception if the import fail. Import trace fails if the threading module is
  missing.

  See also part 3: test_doctest: import trace module in test_coverage().
........
  r80571 | victor.stinner | 2010-04-28 01:55:59 +0200 (mer., 28 avril 2010) | 6 lines

  Issue #7449, last part (11): fix many tests if thread support is disabled

   * Use try/except ImportError or test_support.import_module() to import thread
     and threading modules
   * Add @unittest.skipUnless(threading, ...) to testcases using threads
........
2010-04-28 22:31:17 +00:00
Tarek Ziadé 6ac91723bd #8295 : Added shutil.unpack_archive and related APIs 2010-04-28 17:51:36 +00:00