Nick Coghlan
d979e4335d
Close #20500 : Don't trigger PyObject_Str assertion at shutdown
2014-02-09 10:43:21 +10:00
Serhiy Storchaka
2bd59daf58
Issue #2382 : SyntaxError cursor "^" now is written at correct position in most
...
cases when multibyte characters are in line (before "^"). This still not
works correctly with wide East Asian characters.
2014-01-21 22:29:47 +02:00
Serhiy Storchaka
65fd0592fb
Issue #2382 : SyntaxError cursor "^" now is written at correct position in most
...
cases when multibyte characters are in line (before "^"). This still not
works correctly with wide East Asian characters.
2014-01-21 22:26:52 +02:00
Victor Stinner
52ce3b04d0
Issue #19817 : Fix print_exception(), clear the exception on error
2013-12-09 02:10:08 +01:00
Victor Stinner
be0708f066
Closes #19831 : Stop tracemalloc later at Python shutdown to be able to use
...
tracemalloc in objects destructor
Replace atexit handler with an harcoded C function _PyTraceMalloc_Fini().
2013-12-01 10:03:26 +01:00
Victor Stinner
ed3b0bca3e
Issue #18874 : Implement the PEP 454 (tracemalloc)
2013-11-23 12:27:24 +01:00
Christian Heimes
985ecdcfc2
ssue #19183 : Implement PEP 456 'secure and interchangeable hash algorithm'.
...
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Victor Stinner
2f5bbc6a12
pythonrun.c: fix Py_GetPythonHome(), use Py_ARRAY_LENGTH() to get the size of
...
the env_home buffer, not PATH_MAX+1. env_home is declared using MAXPATHLEN+1,
and PATH_MAX is not declared on IRIX.
2013-11-15 17:09:24 +01:00
Victor Stinner
b5a7a0aa3f
(Merge 3.3) pythonrun.c: fix Py_GetPythonHome(), use Py_ARRAY_LENGTH() to get
...
the size of the env_home buffer, not PATH_MAX+1. env_home is declared using
MAXPATHLEN+1, and PATH_MAX is not declared on IRIX.
2013-11-15 17:12:14 +01:00
Victor Stinner
3f36a5736b
Issue #19515 : Remove identifiers duplicated in the same file.
...
Patch written by Andrei Dorian Duma.
2013-11-12 21:39:02 +01:00
Victor Stinner
dcf17f8a55
Issue #19466 : Fix typo. Patch written by Vajrasky Kok.
2013-11-12 17:18:51 +01:00
Victor Stinner
45956b9a33
Close #19466 : Clear the frames of daemon threads earlier during the Python
...
shutdown to call objects destructors. So "unclosed file" resource warnings are
now corretly emitted for daemon threads.
2013-11-12 16:37:55 +01:00
Victor Stinner
bd303c165b
Issue #19512 , #19515 : remove shared identifiers, move identifiers where they
...
are used.
Move also _Py_IDENTIFIER() defintions to the top in modified files to remove
identifiers duplicated in the same file.
2013-11-07 23:07:29 +01:00
Victor Stinner
efa7a0e155
print_error_text() doesn't encode the filename anymore
...
Use aslo PyUnicode_FromFormat() to format the line so only one call to
PyFile_WriteObject() is needed. tb_displayline() of Python/traceback.c has
similar implementation.
2013-11-07 12:37:56 +01:00
Victor Stinner
ad14ccd047
Issue #19512 : add _PyUnicode_CompareWithId() function
...
_PyUnicode_CompareWithId() is faster than PyUnicode_CompareWithASCIIString()
when both strings are equal and interned.
Add also _PyId_builtins identifier for "builtins" common string.
2013-11-07 00:46:04 +01:00
Victor Stinner
937114f704
print_exception(): don't encode the module name to UTF-8
...
Replace _PyUnicode_AsString()+strcmp() with PyUnicode_CompareWithASCIIString().
2013-11-07 00:12:30 +01:00
Victor Stinner
090543736f
Issue #19512 : add some common identifiers to only create common strings once,
...
instead of creating temporary Unicode string objects
Add also more identifiers in pythonrun.c to avoid temporary Unicode string
objets for the interactive interpreter.
2013-11-06 22:41:44 +01:00
Victor Stinner
95701bdf40
Issue #19512 : Add PyRun_InteractiveOneObject() function
...
Only decode the filename once. PyRun_InteractiveOneObject() uses an identifier
for "<string>" string, so the byte string is only decoded once.
2013-11-06 18:41:07 +01:00
Victor Stinner
4ee41c5839
Issue #19512 : _print_total_refs() now uses an identifier to get "showrefcount"
...
key from sys._xoptions
2013-11-06 18:28:21 +01:00
Christian Heimes
efa48676d5
Issue #18603 : Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the
...
Python executable and not removed by the linker's optimizer.
2013-10-22 10:23:12 +02:00
Christian Heimes
49e61806f5
Issue #18603 : Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the
...
Python executable and not removed by the linker's optimizer.
2013-10-22 10:22:29 +02:00
Nick Coghlan
1805a62f1f
Issue #16129 : Py_SetStandardStreamEncoding cleanups
...
- don't call PyErr_NoMemory with interpreter is not initialised
- note that it's OK to call _PyMem_RawStrDup here
- don't include this in the limited API
- capitalise "IO"
- be explicit that a non-zero return indicates an error
- include versionadded marker in docs
2013-10-18 23:11:47 +10:00
Nick Coghlan
7d270ee05d
Issue #16129 : Add `Py_SetStandardStreamEncoding`
...
This new pre-initialization API allows embedding
applications like Blender to force a particular
encoding and error handler for the standard IO streams.
Also refactors Modules/_testembed.c to let us start
testing multiple embedding scenarios.
(Initial patch by Bastien Montagne)
2013-10-17 22:35:35 +10:00
Antoine Pitrou
6039db8de3
Issue #18776 : atexit callbacks now display their full traceback when they raise an exception.
2013-10-13 21:54:15 +02:00
Antoine Pitrou
24201d497c
Issue #18776 : atexit callbacks now display their full traceback when they raise an exception.
2013-10-13 21:53:13 +02:00
Serhiy Storchaka
bf28d2dcad
Issue #18818 : The "encodingname" part of PYTHONIOENCODING is now optional.
2013-09-13 11:46:24 +03:00
Antoine Pitrou
4879a963d4
Issue #18756 : os.urandom() now uses a lazily-opened persistent file descriptor, so as to avoid using many file descriptors when run in parallel from multiple threads.
2013-08-31 00:26:02 +02:00
Victor Stinner
55a1220bdb
pythonrun.c: use MAXPATHLEN instead of PATH_MAX
...
PATH_MAX is not available on "MIPS IRIX 6.5.30 [SB] 3.x" buildbot
2013-08-28 01:47:46 +02:00
Victor Stinner
daf455554b
Issue #18571 : Implementation of the PEP 446: file descriptors and file handles
...
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Victor Stinner
14e461d5b9
Close #11619 : The parser and the import machinery do not encode Unicode
...
filenames anymore on Windows.
2013-08-26 22:28:21 +02:00
Antoine Pitrou
7eaf3f7080
Issue #18808 : Non-daemon threads are now automatically joined when a sub-interpreter is shutdown (it would previously dump a fatal error).
2013-08-25 19:48:18 +02:00
Christian Heimes
ad73a9cf97
Issue #16400 : Add command line option for isolated mode.
...
-I
Run Python in isolated mode. This also implies -E and -s. In isolated mode
sys.path contains neither the script’s directory nor the user’s
site-packages directory. All PYTHON* environment variables are ignored,
too. Further restrictions may be imposed to prevent the user from
injecting malicious code.
2013-08-10 16:36:18 +02:00
Antoine Pitrou
32d483c39b
Fix style
2013-07-30 21:01:23 +02:00
Victor Stinner
ba30883f60
Issue #18520 : Fix initstdio(), handle PySys_SetObject() failure
2013-07-22 23:55:19 +02:00
Victor Stinner
62ce62a3a1
Issue #18520 : initsite() is a little bit more verbose when import site fails
2013-07-22 22:53:28 +02:00
Victor Stinner
1c8f059019
Issue #18520 : Add a new PyStructSequence_InitType2() function, same than
...
PyStructSequence_InitType() except that it has a return value (0 on success,
-1 on error).
* PyStructSequence_InitType2() now raises MemoryError on memory allocation failure
* Fix also some calls to PyDict_SetItemString(): handle error
2013-07-22 22:24:54 +02:00
Victor Stinner
d786ad55ef
Issue #18520 : Fix initsigs(), handle PyOS_InitInterrupts() error
...
PyOS_InitInterrupts() can raise error when importing the signal module
2013-07-21 13:25:51 +02:00
Victor Stinner
26f91999b4
Close #18469 : Replace PyDict_GetItemString() with _PyDict_GetItemId() in structseq.c
...
_PyDict_GetItemId() is more efficient: it only builds the Unicode string once.
Identifiers (dictionary keys) are now created at Python initialization, and if
the creation failed, Python does exit with a fatal error.
Before, PyDict_GetItemString() failure was not handled: structseq_new() could
call PyObject_GC_NewVar() with a negative size, and structseq_dealloc() could
also crash.
2013-07-17 01:22:45 +02:00
Victor Stinner
49fc8ece81
Issue #18203 : Add _PyMem_RawStrdup() and _PyMem_Strdup()
...
Replace strdup() with _PyMem_RawStrdup() or _PyMem_Strdup(), depending if the
GIL is held or not.
2013-07-07 23:30:24 +02:00
Victor Stinner
51fa458d0a
Issue #18203 : Fix Py_Finalize(): destroy the GIL after the last call to
...
PyMem_Malloc() or PyObject_Malloc().
For example, PyCFunction_Fini() calls PyObject_GC_Del() which calls
PyObject_FREE().
2013-07-07 15:50:49 +02:00
Antoine Pitrou
5f454a07a0
Issue #1545463 : Global variables caught in reference cycles are now garbage-collected at shutdown.
2013-05-06 21:15:57 +02:00
Antoine Pitrou
4adb566ad7
Fix crash caused by 8c1385205a35
...
(thanks Arfrever for reporting).
2013-05-05 08:14:53 +02:00
Antoine Pitrou
fd417cc54b
Fix crash caused by 8c1385205a35
...
(thanks Arfrever for reporting).
2013-05-05 08:12:42 +02:00
Brett Cannon
13853a67cf
#17115 : I hate you MS for not supporting C99.
2013-05-04 17:37:09 -04:00
Antoine Pitrou
df6931dbbc
Issue #17408 : Avoid using an obsolete instance of the copyreg module when the interpreter is shutdown and then started again.
2013-05-04 20:46:19 +02:00
Antoine Pitrou
957a23b088
Issue #17408 : Avoid using an obsolete instance of the copyreg module when the interpreter is shutdown and then started again.
2013-05-04 20:45:02 +02:00
Brett Cannon
4c14b5de1c
#17115,17116: Have modules initialize the __package__ and __loader__
...
attributes to None.
The long-term goal is for people to be able to rely on these
attributes existing and checking for None to see if they have been
set. Since import itself sets these attributes when a loader does not
the only instances when the attributes are None are from someone
overloading __import__() and not using a loader or someone creating a
module from scratch.
This patch also unifies module initialization. Before you could have
different attributes with default values depending on how the module
object was created. Now the only way to not get the same default set
of attributes is to circumvent initialization by calling
ModuleType.__new__() directly.
2013-05-04 13:56:58 -04:00
Benjamin Peterson
0bb83f812f
merge 3.3 ( #17863 )
2013-04-29 10:23:31 -04:00
Benjamin Peterson
fe1b22af0a
ignore errors when trying to fetch sys.stdin.encoding ( closes #17863 )
2013-04-29 10:23:08 -04:00
Antoine Pitrou
208ac5cf65
Issue #17832 : fix a compilation warning about a function prototype.
...
Also, make the private function static.
2013-04-24 20:17:53 +02:00
Ezio Melotti
1f8898a591
#17323 : The "[X refs, Y blocks]" printed by debug builds has been disabled by default. It can be re-enabled with the `-X showrefcount` option.
2013-03-26 01:59:56 +02:00
Antoine Pitrou
f9d0b1256f
Issue #13390 : New function :func:`sys.getallocatedblocks()` returns the number of memory blocks currently allocated.
...
Also, the ``-R`` option to regrtest uses this function to guard against memory allocation leaks.
2012-12-09 14:28:26 +01:00
Hynek Schlawack
33363f43e3
Issue #15001 : fix segfault on "del sys.module['__main__']"
...
Patch by Victor Stinner.
2012-11-07 09:07:22 +01:00
Hynek Schlawack
5c6b3e214c
Issue #15001 : fix segfault on "del sys.module['__main__']"
...
Patch by Victor Stinner.
2012-11-07 09:02:24 +01:00
Andrew Svetlov
90c0eb28c5
Issue #16218 : Support non ascii characters in python launcher.
...
Patch by Serhiy Storchaka.
2012-11-01 14:51:14 +02:00
Christian Heimes
04ac4c1cb8
Issue #15895 : my analysis was slightly off. The FILE pointer is only leaked when set_main_loader() fails for a pyc file with closeit=0. In the success case run_pyc_file() does its own cleanup of the fp. I've changed the code to use another FILE ptr for pyc files and moved the fclose() to PyRun_SimpleFileExFlags() to make it more obvious what's happening.
2012-09-11 15:47:28 +02:00
Christian Heimes
eeb5635843
Issue #15895 : Fix FILE pointer leak in PyRun_SimpleFileExFlags() when filename points to a pyc/pyo file and closeit is false.
2012-09-11 14:11:03 +02:00
Victor Stinner
90ef747e04
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:37:32 +02:00
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
Victor Stinner
3cbf14bfb1
Issue #10914 : Initialize correctly the filesystem codec when creating a new
...
subinterpreter to fix a bootstrap issue with codecs implemented in Python, as
the ISO-8859-15 codec.
Add fscodec_initialized attribute to the PyInterpreterState structure.
2011-04-27 00:24:21 +02:00
Victor Stinner
793b531756
Issue #10914 : Initialize correctly the filesystem codec when creating a new
...
subinterpreter to fix a bootstrap issue with codecs implemented in Python, as
the ISO-8859-15 codec.
Add fscodec_initialized attribute to the PyInterpreterState structure.
2011-04-27 00:24:21 +02:00
Victor Stinner
1188935af9
Issue #10914 : Py_NewInterpreter() uses PyErr_PrintEx(0)
...
... instead of PyErr_Print() because we don't need to set sys attributes,
the sys module is destroyed just after printing the error.
2011-04-27 00:20:27 +02:00
Victor Stinner
c40a350db0
Issue #10914 : Py_NewInterpreter() uses PyErr_PrintEx(0)
...
... instead of PyErr_Print() because we don't need to set sys attributes,
the sys module is destroyed just after printing the error.
2011-04-27 00:20:27 +02:00
Victor Stinner
7f2fee3640
Issue #10785 : Store the filename as Unicode in the Python parser.
2011-04-05 00:39:01 +02:00
Victor Stinner
d727e23243
Issue #11393 : The fault handler handles also SIGABRT
2011-04-01 12:13:55 +02:00
Victor Stinner
024e37adcc
Issue #11393 : Add the new faulthandler module
2011-03-31 01:31:06 +02:00
Victor Stinner
9c4efe571d
Fix #11586 : typo in initfsencoding()
...
Patch written by Ray Allen.
2011-03-20 23:23:22 +01:00
Victor Stinner
4ca2809b5c
Fix #11586 : typo in initfsencoding()
...
Patch written by Ray Allen.
2011-03-20 23:09:03 +01:00
Victor Stinner
02bfdb3f79
Merged revisions 88530 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r88530 | victor.stinner | 2011-02-23 13:07:37 +0100 (mer., 23 févr. 2011) | 4 lines
Issue #11272 : Fix input() and sys.stdin for Windows newline
On Windows, input() strips '\r' (and not only '\n'), and sys.stdin uses
universal newline (replace '\r\n' by '\n').
........
2011-02-23 12:10:23 +00:00
Victor Stinner
c0f1a1afae
Issue #11272 : Fix input() and sys.stdin for Windows newline
...
On Windows, input() strips '\r' (and not only '\n'), and sys.stdin uses
universal newline (replace '\r\n' by '\n').
2011-02-23 12:07:37 +00:00
Victor Stinner
0fcab4a3ed
Issue #9566 : use Py_ssize_t instead of int
2011-01-04 12:59:15 +00:00
Georg Brandl
8aa7e999b5
Add sys.flags.quiet attribute for the new -q option, as noted missing by Eric in #1772833 .
2010-12-28 18:30:18 +00:00
Georg Brandl
8334fd9285
Add an "optimize" parameter to compile() to control the optimization level, and provide an interface to it in py_compile, compileall and PyZipFile.
2010-12-04 10:26:46 +00:00
Martin v. Löwis
4d0d471a80
Merge branches/pep-0384.
2010-12-03 20:14:31 +00:00
Georg Brandl
e5b99f0fb3
Remove redundant includes of headers that are already included by Python.h.
2010-11-30 09:41:01 +00:00
Antoine Pitrou
5a96b5241f
Issue #10255 : Fix reference leak in Py_InitializeEx(). Patch by Neil
...
Schemenauer.
2010-11-20 19:50:57 +00:00
Antoine Pitrou
cf9f98034a
Issue #10372 : Import the warnings module only after the IO library is
...
initialized, so as to avoid bootstrap issues with the '-W' option.
2010-11-10 13:55:25 +00:00
Hirokazu Yamamoto
3d89751c7a
Merged revisions 85980 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85980 | hirokazu.yamamoto | 2010-10-31 00:08:15 +0900 | 1 line
Issue #10157 : Fixed refleaks in pythonrun.c. Patch by Stefan Krah.
........
2010-10-30 15:43:30 +00:00
Hirokazu Yamamoto
daf83acf00
Issue #10157 : Fixed refleaks in pythonrun.c. Patch by Stefan Krah.
2010-10-30 15:08:15 +00:00
Benjamin Peterson
c8850d0771
Merged revisions 85817,85904 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85817 | benjamin.peterson | 2010-10-23 22:41:46 -0500 (Sat, 23 Oct 2010) | 1 line
tighten loop
........
r85904 | benjamin.peterson | 2010-10-28 22:28:14 -0500 (Thu, 28 Oct 2010) | 1 line
decrement offset when it points to a newline (#10186 followup)
........
2010-10-29 04:02:30 +00:00
Benjamin Peterson
a95e977e41
decrement offset when it points to a newline ( #10186 followup)
2010-10-29 03:28:14 +00:00
Benjamin Peterson
d4519c14ca
tighten loop
2010-10-24 03:41:46 +00:00
Benjamin Peterson
9831611865
Merged revisions 85814 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85814 | benjamin.peterson | 2010-10-23 21:52:05 -0500 (Sat, 23 Oct 2010) | 1 line
remove broken code accounting an offset the size of the line #10186
........
2010-10-24 02:57:31 +00:00
Benjamin Peterson
503d6c5ae9
remove broken code accounting an offset the size of the line #10186
2010-10-24 02:52:05 +00:00
Victor Stinner
3aa6cea861
Issue #10077 : Fix logging of site module errors at startup.
2010-10-23 08:50:36 +00:00
Victor Stinner
15244f7b12
Recorded merge of revisions 85569-85570 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85569 | victor.stinner | 2010-10-16 15:14:10 +0200 (sam., 16 oct. 2010) | 4 lines
Issue #9713 , #10114 : Parser functions (eg. PyParser_ASTFromFile) expects
filenames encoded to the filesystem encoding with surrogateescape error handler
(to support undecodable bytes), instead of UTF-8 in strict mode.
........
r85570 | victor.stinner | 2010-10-16 15:42:53 +0200 (sam., 16 oct. 2010) | 4 lines
Fix ast_error_finish() and err_input(): filename can be NULL
Fix my previous commit (r85569).
........
2010-10-19 01:22:07 +00:00
Victor Stinner
e474309bb7
initfsencoding(): get_codeset() failure is now a fatal error
...
Don't fallback to utf-8 anymore to avoid mojibake. I never got any error from
his function.
2010-10-19 00:05:51 +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
Victor Stinner
2f2ed1f36c
Fix ast_error_finish() and err_input(): filename can be NULL
...
Fix my previous commit (r85569).
2010-10-16 13:42:53 +00:00
Victor Stinner
4c7c8c3023
Issue #9713 , #10114 : Parser functions (eg. PyParser_ASTFromFile) expects
...
filenames encoded to the filesystem encoding with surrogateescape error handler
(to support undecodable bytes), instead of UTF-8 in strict mode.
2010-10-16 13:14:10 +00:00
Victor Stinner
f3170ccef8
Use locale encoding if Py_FileSystemDefaultEncoding is not set
...
* PyUnicode_EncodeFSDefault(), PyUnicode_DecodeFSDefaultAndSize() and
PyUnicode_DecodeFSDefault() use the locale encoding instead of UTF-8 if
Py_FileSystemDefaultEncoding is NULL
* redecode_filenames() functions and _Py_code_object_list (issue #9630 )
are no more needed: remove them
2010-10-15 12:04:23 +00:00
Victor Stinner
6a4aff10f0
redecode_filename(): don't need to initialize variables
2010-10-15 11:16:59 +00:00
Victor Stinner
8f6b6b0cc3
Issue #9992 : Remove PYTHONFSENCODING environment variable.
2010-10-13 22:02:27 +00:00
Victor Stinner
c39211f51e
Issue #9630 : Redecode filenames when setting the filesystem encoding
...
Redecode the filenames of:
- all modules: __file__ and __path__ attributes
- all code objects: co_filename attribute
- sys.path
- sys.meta_path
- sys.executable
- sys.path_importer_cache (keys)
Keep weak references to all code objects until initfsencoding() is called, to
be able to redecode co_filename attribute of all code objects.
2010-09-29 16:35:47 +00:00
Antoine Pitrou
b0b384b7c0
Issue #9901 : Destroying the GIL in Py_Finalize() can fail if some other
...
threads are still running. Instead, reinitialize the GIL on a second
call to Py_Initialize().
2010-09-20 20:13:48 +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
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
Victor Stinner
6961bd690e
Issue #8063 : Call _PyGILState_Init() earlier in Py_InitializeEx().
2010-08-17 22:26:51 +00:00
Antoine Pitrou
696e03553b
Issue #477863 : Print a warning at shutdown if gc.garbage is not empty.
2010-08-08 22:18:46 +00:00
Antoine Pitrou
b61d5c9758
Merged revisions 83854 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r83854 | antoine.pitrou | 2010-08-08 22:46:42 +0200 (dim., 08 août 2010) | 4 lines
Issue #5319 : Print an error if flushing stdout fails at interpreter
shutdown.
........
2010-08-08 20:49:19 +00:00
Antoine Pitrou
bddc9fe22b
Issue #5319 : Print an error if flushing stdout fails at interpreter
...
shutdown.
2010-08-08 20:46:42 +00:00