| Commit message (Collapse) | Author | Age | Files | Lines | 
| |\   | 
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
Issue #26516:
* Add PYTHONMALLOC environment variable to set the Python memory
  allocators and/or install debug hooks.
* PyMem_SetupDebugHooks() can now also be used on Python compiled in release
  mode.
* The PYTHONMALLOCSTATS environment variable can now also be used on Python
  compiled in release mode. It now has no effect if set to an empty string.
* In debug mode, debug hooks are now also installed on Python memory allocators
  when Python is configured without pymalloc.
 | 
| |\ \  
| |/  
| |   
| |    | 
Issue #26154: Add a new private _PyThreadState_UncheckedGet() 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
 | 
| | |  | 
 | 
| | |  | 
 | 
| |/   | 
 | 
| | 
| 
| 
| 
| 
| 
|  | 
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 _Py_fstat_noraise() function when a Python exception is not welcome.
 | 
| | 
| 
| 
|  | 
remove unnecessary version checks.
 | 
| | 
| 
| 
| 
| 
|  | 
Windows.
fstat() may fail with EOVERFLOW on files larger than 2 GB because the file size type is an signed 32-bit integer.
 | 
| |\   | 
 | 
| | |  | 
 | 
| | | 
| | 
| | 
| |  | 
interpreter shutdown.
 | 
| |/  
|   
|   
|   
|   
|   
|    | 
- interpreter startup and shutdown code moved to a new
  pylifecycle.c module
- Py_OptimizeFlag moved into the new module with the other
  global flags
 | 
| | 
| 
| 
|  | 
Fixed an error in _PySys_GetSizeOf declaration.
 | 
| | 
| 
| 
|  | 
some __sizeof__() methods.
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
raises a TypeError.
 | 
| |  | 
 | 
| |\   | 
 | 
| | |  | 
 | 
| | |  | 
 | 
| | | 
| | 
| | 
| |  | 
no parameter
 | 
| |\ \  
| |/  
| |   
| |   
| |    | 
sys.getwindowsversion() and ossaudiodev.setparameters().
Reported by Ned Batchelder.
 | 
| | | 
| | 
| | 
| | 
| |  | 
sys.getwindowsversion() and ossaudiodev.setparameters().
Reported by Ned Batchelder.
 | 
| |\ \  
| |/   | 
 | 
| | |  | 
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| |  | 
crash when a generator is created in a C thread that is destroyed while the
generator is still used. The issue was that a generator contains a frame, and
the frame kept a reference to the Python state of the destroyed C thread. The
crash occurs when a trace function is setup.
 | 
| | | 
| | 
| | 
| |  | 
Python now uses SipHash24 on all major platforms.
 | 
| |\ \  
| |/  
| |   
| |   
| |   
| |    | 
the size of the fullpath buffer, not PATH_MAX. fullpath is declared using
MAXPATHLEN or MAX_PATH depending on the OS, and PATH_MAX is not declared on
IRIX.
 | 
| | | 
| | 
| | 
| | 
| |  | 
the fullpath buffer, not PATH_MAX. fullpath is declared using MAXPATHLEN or
MAX_PATH depending on the OS, and PATH_MAX is not declared on IRIX.
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| |  | 
are used.
Move also _Py_IDENTIFIER() defintions to the top in modified files to remove
identifiers duplicated in the same file.
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| |  | 
instead of creating temporary Unicode string objects
Add also more identifiers in pythonrun.c to avoid temporary Unicode string
objets for the interactive interpreter.
 | 
| | |  | 
 | 
| | | 
| | 
| | 
| | 
| | 
| |  | 
dictionary key and only decodes "\n" string once to write a newline.
So "builtins" and "\n" are only decoded once from UTF-8, at the first call.
 | 
| | | 
| | 
| | 
| | 
| |  | 
exceptions when merging fast locals into f_locals of a frame.
PyEval_GetLocals() now raises an exception and return NULL on failure.
 | 
| | |  | 
 | 
| |\ \  
| |/   | 
 | 
| | | 
| | 
| | 
| |  | 
as exit status.
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
-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.
 | 
| | |  | 
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
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
 | 
| |\ \  
| |/  
| |   
| |    | 
prefix and exec_prefix if the operation system does not obey MAXPATHLEN.
 | 
| | | 
| | 
| | 
| |  | 
prefix and exec_prefix if the operation system does not obey MAXPATHLEN.
 | 
| | |  | 
 |