| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Issue #25888
|
| |
|
|
|
|
|
|
|
| |
'level' is specified but no __package__.
This brings the function inline with builtins.__import__(). Thanks to
Manuel Jacob for the patch.
|
|
|
|
| |
if the stack is too deep.
|
|
|
|
|
| |
Fixed the documented about buffer overflow error for "es#" and "et#" format
units.
|
|
|
|
| |
Based on patch by Hagen Fürstenau and Daniel Urban.
|
|
|
|
|
|
|
|
|
| |
Issue #25843: When compiling code, don't merge constants if they are equal but
have a different types. For example, "f1, f2 = lambda: 1, lambda: 1.0" is now
correctly compiled to two different functions: f1() returns 1 (int) and f2()
returns 1.0 (int), even if 1 and 1.0 are equal.
Add a new _PyCode_ConstantKey() private function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #26154: Add a new private _PyThreadState_UncheckedGet() function which
gets the current thread state, but don't call Py_FatalError() if it is NULL.
Python 3.5.1 removed the _PyThreadState_Current symbol from the Python C API to
no more expose complex and private atomic types. Atomic types depends on the
compiler or can even depend on compiler options. The new function
_PyThreadState_UncheckedGet() allows to get the variable value without having
to care of the exact implementation of atomic types.
Changes:
* Replace direct usage of the _PyThreadState_Current variable with a call to
_PyThreadState_UncheckedGet().
* In pystate.c, replace direct usage of the _PyThreadState_Current variable
with the PyThreadState_GET() macro for readability.
* Document also PyThreadState_Get() in pystate.h
|
|\ |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | | |
robust (closes #25973)
|
| | |
| | |
| | |
| | |
| | | |
This patch is manually crafted and contains changes that couldn't be handled
automatically.
|
| | |
| | |
| | |
| | | |
The patch is automatically generated, it replaces the code that uses Py_CLEAR.
|
| | |
| | |
| | |
| | | |
macro Py_SETREF.
|
| | |
| | |
| | |
| | | |
to ASCII replacements. Original patch by Chris Angelico.
|
| | | |
|
| | |
| | |
| | |
| | | |
I forgot to rename it in my previous refactoring of pytime.c.
|
| | |
| | |
| | |
| | | |
compiling AST from Python objects.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This avoids possible buffer overreads when int(), float(), compile(), exec()
and eval() are passed bytes-like objects. Similar code is removed from the
complex() constructor, where it was not reachable.
Patch by John Leitch, Serhiy Storchaka and Martin Panter.
|
| | |
| | |
| | |
| | |
| | |
| | | |
requested name doesn't exist in globals: clear the KeyError exception before
calling PyObject_GetItem(). Fail also if the raised exception is not a
KeyError.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This changes the main documentation, doc strings, source code comments, and a
couple error messages in the test suite. In some cases the word was removed
or edited some other way to fix the grammar.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #25274: sys.setrecursionlimit() now raises a RecursionError if the new
recursion limit is too low depending at the current recursion depth. Modify
also the "lower-water mark" formula to make it monotonic. This mark is used to
decide when the overflowed flag of the thread state is reset.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add "#ifdef WITH_THREAD" around cals to:
* PyGILState_Check()
* _PyImport_AcquireLock()
* _PyImport_ReleaseLock()
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | | |
Also factored out some test cases into a new PtyTests class.
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | | |
longer formatted twice.
|
| | |
| | |
| | |
| | | |
longer formatted twice.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
getentropy() is blocking, whereas os.urandom() should not block. getentropy()
is supported since Solaris 11.3.
|
| | |
| | |
| | |
| | |
| | |
| | | |
function instead of the getentropy() function. The getentropy() function is
blocking to generate very good quality entropy, os.urandom() doesn't need such
high-quality entropy.
|
| | |
| | |
| | |
| | | |
the line number and col offset of the AST node (closes #25131)
|
| | |
| | |
| | |
| | |
| | | |
_PyTime_Divide() rounding was wrong: copy code from Python default which has
now much better unit tests.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On Windows, the tv_sec field of the timeval structure has the type C long,
whereas it has the type C time_t on all other platforms. A C long has a size of
32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not
enough to store an Epoch timestamp after the year 2038.
Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now():
convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t.
It allows to support dates after the year 2038 on Windows.
Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of
seconds when rounding the number of microseconds.
|
| | |
| | |
| | |
| | | |
import_init() imports the "_imp" module, not the "imp" module.
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
by the warnings.warn(stacklevel=) parameter.
|
|\ \ \ \
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Issue #24891: Fix a race condition at Python startup if the file descriptor
of stdin (0), stdout (1) or stderr (2) is closed while Python is creating
sys.stdin, sys.stdout and sys.stderr objects. These attributes are now set
to None if the creation of the object failed, instead of raising an OSError
exception. Initial patch written by Marco Paolini.
|
| | | |
| | | |
| | | |
| | | | |
Patch by Louis Dassy.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Handle PyCapsule_Import() failure (exception) in PyCodec_NameReplaceErrors():
return immedialty NULL.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
I was not supposed to commit the function with the name pymonotonic_new(). I
forgot to rename it.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't check anymore at runtime that the monotonic clock doesn't go backward.
Yes, it happens. It occurs sometimes each month on a Debian buildbot slave
running in a VM.
The problem is that Python cannot do anything useful if a monotonic clock goes
backward. It was decided in the PEP 418 to not fix the system, but only expose
the clock provided by the OS.
|
| | | |
|
| | | |
|