Commit Graph

5375 Commits

Author SHA1 Message Date
Victor Stinner 2a94f4c0ef get_code_from_data() uses the filesystem encoding to encode the module path,
instead of utf-8.
2010-10-18 12:15:34 +00:00
Victor Stinner d36c8217e1 zipimport: read_directory() uses cp437 or utf-8 (in strict mode), depending on
the unicode flag, to decode the filename, instead of the filesystem encoding.
Use the same choice than the zipfile module.
2010-10-18 12:13:46 +00:00
Victor Stinner 08654e18ee zipimport: get_module_code() returns modpath as a Unicode object
... instead of a char*. Encode the module path to the fileystem encoding
(for PyImport_ExecCodeModuleEx) instead of utf-8.
2010-10-18 12:09:02 +00:00
Victor Stinner 26fabe1369 zipimporter_load_module() doesn't destroy mod on error
PyImport_AddModule() returns a borrowed reference. Don't display "import ... #
loaded from Zip ..." on error.
2010-10-18 12:03:25 +00:00
Victor Stinner 72f767e601 zipimport: encode the prefix to the fileystem encoding 2010-10-18 11:44:21 +00:00
Victor Stinner 353349caeb zipimport, get_module_code(): avoid useless _PyUnicode_AsString() 2010-10-18 11:40:40 +00:00
Victor Stinner c342fca222 zipimport: fix indentation 2010-10-18 11:39:05 +00:00
Georg Brandl f038b32d0b Remove more unneeded casts to hashfunc. 2010-10-18 07:35:09 +00:00
Georg Brandl d49bf5e8a5 Fix type of hash function. 2010-10-18 07:30:06 +00:00
Georg Brandl 646fdd6c61 Fix compiler warning about unused static function. 2010-10-18 07:27:55 +00:00
Georg Brandl c7f4af4cbe Fix compiler warnings about formatting pid_t as an int, by always casting to long. 2010-10-18 05:06:18 +00:00
R. David Murray e194dd60f0 #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
Patch by Sébastien Sablé.  This solves a test_mmap failure on AIX.
2010-10-18 01:14:06 +00:00
Benjamin Peterson 223f091737 fix strict aliasing warnings 2010-10-17 21:12:18 +00:00
Benjamin Peterson 8f67d0893f make hashes always the size of pointers; introduce Py_hash_t #9778 2010-10-17 20:54:53 +00:00
Martin v. Löwis a2e7d9bdc1 Fix T_BOOL bug of issue 8845. 2010-10-17 19:48:29 +00:00
Victor Stinner e0f3268715 run_file(): encode the filename with PyUnicode_EncodeFSDefault() instead of
PyUnicode_AsUTF8String()
2010-10-17 19:34:51 +00:00
Amaury Forgeot d'Arc 20f11fe43c Fix compilation warning in _ctypes module on Window 2010-10-17 08:34:22 +00:00
Gregory P. Smith 68e0135e41 Fix multiprocessing Semaphore's on netbsd5. SEM_VALUE_MAX is defined
as (~0U) on NetBSD which was causing it to appear as -1 when used as
a signed int for _multprocessing.SemLock.SEM_VALUE_MAX.  This works
around the problem by substituting INT_MAX on systems where it appears
negative when used as an int.
2010-10-17 02:14:36 +00:00
Victor Stinner 49d3f2514b _PyImport_FixupExtension() and _PyImport_FindExtension() uses FS encoding
* Rename _PyImport_FindExtension() to _PyImport_FindExtensionUnicode():
   the filename becomes a Unicode object instead of byte string
 * Rename _PyImport_FixupExtension() to _PyImport_FixupExtensionUnicode():
   the filename becomes a Unicode object instead of byte string
2010-10-17 01:24:53 +00:00
Gregory P. Smith 3e85dfd15e applying netbsd-wizs-mod.patch from issue5510 -
fixes for netbsd (and dragonflybsd?)
2010-10-17 00:43:10 +00:00
Victor Stinner 61aad57dc9 Oops, fix my previous commit (r85583) on calculate_path()
path value may be changed, so keep a copy in a new variable.
2010-10-16 23:38:07 +00:00
Victor Stinner dc4b2a712f calculate_path(): use _Py_char2wchar() to decode the PATH environment variable,
to support surrogate characters
2010-10-16 23:34:22 +00:00
Victor Stinner 168e117e0a Add an optional size argument to _Py_char2wchar()
_Py_char2wchar() callers usually need the result size in characters. Since it's
trivial to compute it in _Py_char2wchar() (O(1) whereas wcslen() is O(n)), add
an option to get it.
2010-10-16 23:16:16 +00:00
Georg Brandl 2a531395cd Get rid of a "unused static function" warning. 2010-10-16 20:33:11 +00:00
Victor Stinner 5a7913eb3b zipimport: catch _PyUnicode_AsString() failure in get_code_from_data()
It occurs if the path contains surrogates.
2010-10-16 11:29:07 +00:00
R. David Murray e16cda9ad8 #9862: On AIX PIPE_BUF is broken. Make it 512.
Patch by Sébastien Sablé.
2010-10-15 23:12:57 +00:00
Georg Brandl c01537f742 #9054: fix crash when using pyexpat with a system expat lib version 2.0.1. 2010-10-15 16:26:08 +00:00
Georg Brandl b4dac71a87 #5355: Provide mappings from Expat error numbers to string descriptions and backwards, in order to actually make it possible to analyze error codes provided by ExpatError. 2010-10-15 14:46:48 +00:00
Alexander Belopolsky 1bcbaab15a Issue 9183: Intern UTC timezone. 2010-10-14 17:03:51 +00:00
Antoine Pitrou b1c5496738 Issue #7523: Add SOCK_CLOEXEC and SOCK_NONBLOCK to the socket module,
where supported by the system.  Patch by Nikita Vetoshkin.
2010-10-14 15:05:38 +00:00
Victor Stinner f4061dac60 _Py_wgetcwd() decodes the path using _Py_char2wchar() to support surrogates 2010-10-14 12:37:19 +00:00
Victor Stinner 9a6692f6d7 Py_Main() uses _Py_wchar2char() to encode the filename in error messages 2010-10-14 10:51:24 +00:00
Georg Brandl 66c221e993 #9418: first step of moving private string methods to _string module. 2010-10-14 07:04:07 +00:00
Victor Stinner 052a04d34a Revert r85435 (and r85440): decode command line arguments from utf-8
Python exits with a fatal error if the command line contains an undecodable
argument. PyUnicode_FromString() fails at the first undecodable byte because it
calls the error handler, but error handlers are not ready before Python
initialization.
2010-10-13 23:24:06 +00:00
Alexander Belopolsky 59a289d16b Issue 9005: Removed dead code. 2010-10-13 22:54:34 +00:00
Victor Stinner a21350976e main(): catch PyUnicode_FromString() failure (exit) 2010-10-13 22:36:16 +00:00
Victor Stinner 90bbaa57f9 Issue #9992: On Mac OS X, decode command line arguments from utf-8 instead of
the locale encoding.
2010-10-13 22:15:06 +00:00
Benjamin Peterson eb1410fc40 constify to appease compiler warnings 2010-10-13 22:06:39 +00:00
Victor Stinner 8f6b6b0cc3 Issue #9992: Remove PYTHONFSENCODING environment variable. 2010-10-13 22:02:27 +00:00
Antoine Pitrou fc113eeb7d Define a "session_id_context" at context creation. This is recommended
for the OpenSSL server-side session cache.
2010-10-13 12:46:13 +00:00
Gregory P. Smith bd4dacb3f9 Fix compile on NetBSD 5.0 (or anything else using an old 0.9.9-dev OpenSSL). 2010-10-13 03:53:21 +00:00
Gregory P. Smith 2501aca628 fix compliation on NetBSD 2010-10-13 03:39:47 +00:00
Antoine Pitrou 04248a8d99 Issue #3873: Speed up unpickling from file objects which have a peek()
method.
2010-10-12 20:51:21 +00:00
Antoine Pitrou b0182c8ca5 Issue #10075: Add a session_stats() method to SSLContext objects. 2010-10-12 20:09:02 +00:00
Martin v. Löwis baecd7243a Upgrade to Unicode 6.0.0.
makeunicodedata.py: download all data files from unicode.org,
  switch to extracting Unihan data from zip file.
  Read linebreakprops and derivednormalizationprops even for
  old versions, even though they are not used in delta records.
test:unicode.py: U+11000 is now assigned, use U+14000 instead.
2010-10-11 22:42:28 +00:00
Antoine Pitrou 5b0e9e84e9 Issue #10055: Make json C89-compliant in UCS4 mode. 2010-10-09 15:24:28 +00:00
Victor Stinner 4f3abb0f09 copy_absolute() keeps the relative path on _Py_wgetcwd() failure
.. instead of raising a fatal error. Even if the current directory was deleted,
use relative paths may still work (eg. run Python with "../python").
2010-10-07 23:29:18 +00:00
Victor Stinner 41c8b377d7 copy_absolute() raises a fatal error on _Py_wgetcwd() failure 2010-10-07 22:42:51 +00:00
Victor Stinner 4e31443c4d Create fileutils.c/.h
* _Py_fopen() and _Py_stat() come from Python/import.c
 * (_Py)_wrealpath() comes from Python/sysmodule.c
 * _Py_char2wchar(), _Py_wchar2char() and _Py_wfopen() come from Modules/main.c
 * (_Py)_wstat(), (_Py)_wgetcwd(), _Py_wreadlink() come from Modules/getpath.c
2010-10-07 21:45:39 +00:00
Victor Stinner 7ae7c87b05 _wrealpath() and _Py_wreadlink() support surrogates (PEP 383)
Use _Py_wchar2char() to support surrogate characters in the input path.
2010-10-07 11:06:49 +00:00
Victor Stinner beb4135b8c PyUnicode_AsWideCharString() takes a PyObject*, not a PyUnicodeObject*
All unicode functions uses PyObject* except PyUnicode_AsWideChar(). Fix the
prototype for the new function PyUnicode_AsWideCharString().
2010-10-07 01:02:42 +00:00
Victor Stinner ef12810f0c time: fix gcc warning
* Create format_arg variable to use the right types
 * Strip trailing spaces
2010-10-07 01:00:52 +00:00
Victor Stinner 4726e40e00 Rewrite RunMainFromImporter()
* fix argv0 reference counter if PyList_SetItem() fails
 * don't use complex if conditions, but a simple indentation and "goto error"
 * simplify error handling (remove Py_XDECREF(importer) from the error label)
 * don't set sys_path to NULL (it's useless, sys_path is a borrowed reference
   and sys_path is not a static variable)
 * try to write only one instruction per line for better readability
2010-10-06 23:24:57 +00:00
Victor Stinner 46c7b3b283 Issue #8670: Rename testcapi unicode test methods
* test_aswidechar() => unicode_aswidechar()
 * test_aswidecharstring() => unicode_aswidecharstring()
2010-10-02 11:49:31 +00:00
Victor Stinner ea3f305a25 Oops, revert unwanted _testcapi changes of r85174 2010-10-02 11:46:20 +00:00
Victor Stinner 749261e241 Issue #8670: ctypes.c_wchar supports non-BMP characters with 32 bits wchar_t 2010-10-02 11:25:35 +00:00
Victor Stinner 1c24bd0252 Issue #8870: PyUnicode_AsWideCharString() doesn't count the trailing nul character
And write unit tests for PyUnicode_AsWideChar() and PyUnicode_AsWideCharString().
2010-10-02 11:03:13 +00:00
Brian Curtin 9e88b5aeee Fix #10003. Add SIGBREAK to the set of valid signals on Windows.
This fixes a regression noticed by bzr, introduced by issue #9324.
2010-10-01 14:49:24 +00:00
Alexander Belopolsky 38e2996152 Issue #6608: time.asctime is now checking struct tm fields its input
before passing it to the system asctime.  Patch by MunSic Jeong.
2010-10-01 14:18:49 +00:00
Mark Dickinson c60371748b Issue #9599: Further accuracy tweaks to loghelper. For an integer n that's small enough to be converted to a float without overflow, log(n) is now computed as log(float(n)), and similarly for log10. 2010-09-29 19:06:36 +00:00
Victor Stinner 4c2e4fa242 Issue #9979: Use PyUnicode_AsWideCharString() in _ctypes module
* Convert unicode to wide character string before creating the PyCapsule
   object
 * Catch integer overflow
 * Avoid useless memset()
 * Prepare the support of surrogates
2010-09-29 10:37:16 +00:00
Victor Stinner b29047876d Issue #9979: Use PyUnicode_AsWideCharString() in time.strftime()
Allocate memory with PyMem_Alloc() instead of the PyBytes API. Prepare the
surrogates support.
2010-09-29 10:34:19 +00:00
Victor Stinner 449057f2fa Issue #9979: Use PyUnicode_AsWideCharString() for _locale.strcoll()
It simplifies the code and prepare the surrogates support.
2010-09-29 10:30:43 +00:00
Antoine Pitrou c8f0196454 Fix compilation under Windows 2010-09-28 22:03:27 +00:00
Antoine Pitrou 3e1fd27b74 Issue #9090: When a socket with a timeout fails with EWOULDBLOCK or EAGAIN,
retry the select() loop instead of bailing out.  This is because select()
can incorrectly report a socket as ready for reading (for example, if it
received some data with an invalid checksum).
2010-09-28 21:23:11 +00:00
Ronald Oussoren 01c428999a Fix for issue #9568. 2010-09-28 14:38:31 +00:00
Mark Dickinson fa41e60c9d Issue #9599: Tweak loghelper algorithm to return slightly improved results for powers of 2. 2010-09-28 07:22:27 +00:00
Antoine Pitrou 6d7df63837 Issue #9950: Fix socket.sendall() crash or misbehaviour when a signal is
received.  Now sendall() properly calls signal handlers if necessary,
and retries sending if these returned successfully, including on sockets
with a timeout.
2010-09-27 17:52:25 +00:00
Kristján Valur Jónsson 3b69db27d7 issue 9910
Add a Py_SetPath api to override magic path computations when starting up python.
2010-09-27 05:32:54 +00:00
Brian Curtin 94622b0013 Fix a typo. full->final 2010-09-24 00:03:39 +00:00
Brian Curtin e8e4b3bfd6 #9808. Implement os.getlogin for Windows, completed by Jon Anglin.
The test is semi-dumb, it just makes sure something comes back since we
don't have a solid source to validate the returned login. We can't be 100%
sure that the USERNAME env var will always match what os.getlogin() returns,
so we don't make any specific assertion there.
2010-09-23 20:04:14 +00:00
Antoine Pitrou 70c6044913 Issue #9928: Properly initialize the types exported by the bz2 module. 2010-09-23 19:51:39 +00:00
Barry Warsaw 31c604d3a7 Issue 9916: Add some missing errno symbols. 2010-09-22 20:58:04 +00:00
Antoine Pitrou 38425292fb Issue #9908: Fix os.stat() on bytes paths under Windows 7. 2010-09-21 18:19:07 +00:00
Antoine Pitrou 52d42503d5 Issue #2643: msync() is not called anymore when deallocating an open mmap
object, only munmap().
2010-09-21 16:08:27 +00:00
Amaury Forgeot d'Arc 6c9c09058f Remove unused code in posixmodule.c 2010-09-17 23:39:42 +00:00
Antoine Pitrou 328ec7455f Issue #9854: The default read() implementation in io.RawIOBase now
handles non-blocking readinto() returning None correctly.
2010-09-14 18:37:24 +00:00
Antoine Pitrou 3d330add9e Remove C++-style comments 2010-09-14 10:08:08 +00:00
Antoine Pitrou 2ed94eb520 Do not print additional shutdown message when gc.DEBUG_SAVEALL is set 2010-09-14 09:48:39 +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
Hirokazu Yamamoto 34aa30ca2b Fixed refcount bug. I placed Py_INCREF in create_comerror() for compatibility
with Python2.7.
2010-09-12 16:06:18 +00:00
Victor Stinner 5c848a84fd Isse #8589: Decode PYTHONWARNINGS from utf-8 on Mac OS X
Instead of the locale encoding.
2010-09-12 08:00:41 +00:00
Georg Brandl 5e1fdacc36 Remove compatibility code for Python < 2.1, < 2.2 and < 2.4. 2010-09-11 06:41: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 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 c2d76fd339 Issue #8589: surrogateescape error handler is not available at startup
Py_Main() uses _Py_wchar2char() + PyUnicode_FromWideChar() instead of
PyUnicode_DecodeFSDefault(), because the PyCodec machinery is not ready yet.
2010-09-10 23:13:52 +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
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
Amaury Forgeot d'Arc 66d00ad2ea Untabify file. 2010-09-10 18:11:45 +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
Amaury Forgeot d'Arc 4b6fdf3852 #6394: Add os.getppid() support for Windows. 2010-09-07 21:31:17 +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
Amaury Forgeot d'Arc 616453c199 More docstring updates 2010-09-06 22:31:52 +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
Brian Curtin c734b312cb Clean up the fix to #9324 with some of the suggestions raised on python-dev
in response to the original checkin.

Move the validation from the original loop into a switch statement,
and adjust a platform check in the tests.
2010-09-06 16:04:10 +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
Ronald Oussoren 2decf22b95 Fix for issue9662, patch by Łukasz Langa in issue5504. 2010-09-05 18:25:59 +00:00
Georg Brandl 1f94cd0c7a #9776: fix some spacing. 2010-09-05 17:09:18 +00:00