449 Commits

Author SHA1 Message Date
Victor Stinner
7b3f0fa68e Close #13119: use "\r\n" newline for sys.stdout/err on Windows
sys.stdout and sys.stderr are now using "\r\n" newline on Windows, as Python 2.
2012-08-04 01:28:00 +02:00
Victor Stinner
d5698cbbca Fix initialization of the faulthandler module
faulthandler requires the importlib if "-X faulthandler" option is present on
the command line, so initialize faulthandler after importlib.

Add also an unit test.
2012-07-31 02:55:49 +02:00
Nick Coghlan
b7a5894c64 Refcounting fixes 2012-07-15 23:21:08 +10:00
Nick Coghlan
ceda83c6a9 Make set_main_loader static (noticed by Antoine Pitrou) 2012-07-15 23:18:08 +10:00
Nick Coghlan
3f94cbf9eb Actually initialize __main__.__loader__ with loader instances, not the corresponding type objects 2012-07-15 19:10:39 +10:00
Nick Coghlan
85e729ec3b Take the first step in resolving the messy pkgutil vs importlib edge cases by basing pkgutil explicitly on importlib, deprecating its internal import emulation and setting __main__.__loader__ correctly so that runpy still works (Affects #15343, #15314, #15357) 2012-07-15 18:09:52 +10:00
Antoine Pitrou
74de153681 Issue #15020: The program name used to search for Python's path is now python3 under Unix, not python. 2012-07-05 20:57:33 +02:00
Antoine Pitrou
01cca5e451 Issue #15020: The program name used to search for Python's path is now "python3" under Unix, not "python". 2012-07-05 20:56:30 +02:00
David Malcolm
49526f48fc Issue #14785: Add sys._debugmallocstats() to help debug low-level memory allocation issues 2012-06-22 14:55:41 -04:00
Antoine Pitrou
e67f48ce5e Issue #14928: Fix importlib bootstrap issues by using a custom executable (Modules/_freeze_importlib) to build Python/importlib.h. 2012-06-19 22:29:35 +02:00
Benjamin Peterson
d5a1c44455 PEP 415: Implement suppression of __context__ display with an exception attribute
This replaces the original PEP 409 implementation. See #14133.
2012-05-14 22:09:31 -07:00
Brett Cannon
62228dbd6c Issues #13959, 14647: Re-implement imp.reload() in Lib/imp.py.
Thanks to Eric Snow for the patch.
2012-04-29 14:38:11 -04:00
Brett Cannon
e0d88a173c Issue #14605: Make explicit the entries on sys.path_hooks that used to
be implicit.

Added a warning for when sys.path_hooks is found to be empty. Also
changed the meaning of None in sys.path_importer_cache to represent
trying sys.path_hooks again (an interpretation of previous semantics).
Also added a warning for when None was found.

The long-term goal is for None in sys.path_importer_cache to represent
the same as imp.NullImporter: no finder found for that sys.path entry.
2012-04-25 20:54:04 -04:00
Brett Cannon
6f44d66bc4 Issue #13959: Rename imp to _imp and add Lib/imp.py and begin
rewriting functionality in pure Python.

To start, imp.new_module() has been rewritten in pure Python, put into
importlib (privately) and then publicly exposed in imp.
2012-04-15 16:08:47 -04:00
Brett Cannon
fc9ca274b8 Plug a refleak. 2012-04-15 01:35:05 -04:00
Brett Cannon
fd0741555b Issue #2377: Make importlib the implementation of __import__().
importlib._bootstrap is now frozen into Python/importlib.h and stored
as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen
code along with sys and imp and then uses _frozen_importlib._install()
to set builtins.__import__() w/ _frozen_importlib.__import__().
2012-04-14 14:10:13 -04:00
Benjamin Peterson
0a9a636302 merge 3.2 2012-04-03 00:35:36 -04:00
Benjamin Peterson
80d50428ce fix parse_syntax_error to clean up its resources 2012-04-03 00:30:38 -04:00
Nick Coghlan
ab7bf2143e Close issue #6210: Implement PEP 409 2012-02-26 17:49:52 +10:00
Antoine Pitrou
528b54b263 Fix test failure in test_cmd_line by initializing the hash secret at the earliest point. 2012-02-21 19:08:26 +01:00
Antoine Pitrou
86838b02f0 Fix test failure in test_cmd_line by initializing the hash secret at the earliest point. 2012-02-21 19:03:47 +01:00
Georg Brandl
2fb477c0f0 Merge 3.2: Issue #13703 plus some related test suite fixes. 2012-02-21 00:33:36 +01:00
Georg Brandl
09a7c72cad Merge from 3.1: Issue #13703: add a way to randomize the hash values of basic types (str, bytes, datetime)
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.

The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 21:31:46 +01:00
Georg Brandl
2daf6ae249 Issue #13703: add a way to randomize the hash values of basic types (str, bytes, datetime)
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.

The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 19:54:16 +01:00
Meador Inge
fa21bf015d Issue #12705: Raise SyntaxError when compiling multiple statements as single interactive statement 2012-01-19 01:08:41 -06:00
Antoine Pitrou
fff47ab342 Fix a memory leak when initializing the standard I/O streams. 2012-01-18 15:28:38 +01:00
Antoine Pitrou
2fabface50 Fix a memory leak when initializing the standard I/O streams. 2012-01-18 15:14:46 +01:00
Antoine Pitrou
5136ac0ca2 Issue #13645: pyc files now contain the size of the corresponding source
code, to avoid timestamp collisions (especially on filesystems with a low
timestamp resolution) when checking for freshness of the bytecode.
2012-01-13 18:52:16 +01:00
Florent Xicluna
aa6c1d240f Issue #13575: there is only one class type. 2011-12-12 18:54:29 +01:00
Antoine Pitrou
39a73a4cfa Issue #7111: Python can now be run without a stdin, stdout or stderr stream.
It was already the case with Python 2.  However, the corresponding
sys module entries are now set to None (instead of an unusable file object).
2011-11-28 19:09:45 +01:00
Antoine Pitrou
11942a58a1 Issue #7111: Python can now be run without a stdin, stdout or stderr stream.
It was already the case with Python 2.  However, the corresponding
sys module entries are now set to None (instead of an unusable file object).
2011-11-28 19:08:36 +01:00
Antoine Pitrou
5604ef3e36 Issue #13444: When stdout has been closed explicitly, we should not attempt to flush it at shutdown and print an error.
This also adds a test for issue #5319, whose resolution introduced the issue.
2011-11-26 22:02:29 +01:00
Antoine Pitrou
d7c8fbf89e Issue #13444: When stdout has been closed explicitly, we should not attempt to flush it at shutdown and print an error.
This also adds a test for issue #5319, whose resolution introduced the issue.
2011-11-26 21:59:36 +01:00
Victor Stinner
e251d6d69d print_exception() uses PyUnicode_GetLength() instead of PyUnicode_GetSize() 2011-11-20 19:20:00 +01:00
Antoine Pitrou
f34a0cdc6c Issue #10227: Add an allocation cache for a single slice object.
Patch by Stefan Behnel.
2011-11-18 20:14:34 +01:00
Victor Stinner
3a50e7056e Issue #12281: Rewrite the MBCS codec to handle correctly replace and ignore
error handlers on all Windows versions. The MBCS codec is now supporting all
error handlers, instead of only replace to encode and ignore to decode.
2011-10-18 21:21:00 +02:00
Martin v. Löwis
1c67dd9b15 Port SetAttrString/HasAttrString to SetAttrId/GetAttrId. 2011-10-14 15:16:45 +02:00
Martin v. Löwis
bd928fef42 Rename _Py_identifier to _Py_IDENTIFIER. 2011-10-14 10:20:37 +02:00
Martin v. Löwis
1ee1b6fe0d Use identifier API for PyObject_GetAttrString. 2011-10-10 18:11:30 +02:00
Martin v. Löwis
afe55bba33 Add API for static strings, primarily good for identifiers.
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
2011-10-09 10:38:36 +02:00
Barry Warsaw
a80b14cc5f - Issue #13021: Missing decref on an error path. Thanks to Suman Saha for
finding the bug and providing a patch.
2011-09-20 14:58:01 -04:00
Barry Warsaw
916048d780 - Issue #13021: Missing decref on an error path. Thanks to Suman Saha for
finding the bug and providing a patch.
2011-09-20 14:45:44 -04:00
Victor Stinner
d64e8a75e5 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.
2011-07-04 13:48:30 +02:00
Victor Stinner
13b21bd749 print_exception(): handle correctly PyObject_GetAttrString() failure
Bug found by the Clang Static Analyzer.
2011-05-26 14:25:13 +02:00
Georg Brandl
1a4de20d95 Merge #6498 fix from 3.2. 2011-05-15 08:49:38 +02:00
Georg Brandl
318e62153b Merge #6498 fix from 3.1. 2011-05-15 08:49:29 +02:00
Georg Brandl
0b2489e986 Closes #6498: fix several misspellings of "SystemExit" as "SystemError". 2011-05-15 08:49:12 +02:00
Victor Stinner
7bba62fd68 faulthandler: dump all threads by default
* Set the default value of all_threads arguments to True
 * Py_FatalError() dumps all threads, instead of only the current thread

Dump only the current thread is not reliable. In some cases, Python is unable
to retrieve the state of the current thread and so is unable to dump the
traceback. faulthandler keeps a reference to the interpreter and so is always
able to dump the traceback of all threads.
2011-05-07 12:43:00 +02:00
Antoine Pitrou
fc20b0c65c 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.
2011-05-04 20:04:29 +02:00
Antoine Pitrou
0d5e52d346 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.
2011-05-04 20:02:30 +02:00