summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* Issue #18203: Replace malloc() with PyMem_Malloc() to allocate arena objectsVictor Stinner2013-07-071-6/+6
|
* Issue #18203: Replace malloc() with PyMem_RawMalloc() to allocate thread locksVictor Stinner2013-07-072-10/+10
|
* Issue #18203: Fix decode_ascii_surrogateescape(), use PyMem_RawMalloc() as ↵Victor Stinner2013-07-071-1/+1
| | | | _Py_char2wchar()
* Issue #18203: Replace malloc() with PyMem_RawMalloc() at Python initializationVictor Stinner2013-07-073-25/+25
| | | | | | | * Replace malloc() with PyMem_RawMalloc() * Replace PyMem_Malloc() with PyMem_RawMalloc() where the GIL is not held. * _Py_char2wchar() now returns a buffer allocated by PyMem_RawMalloc(), instead of PyMem_Malloc()
* Issue #18203: Fix Py_Finalize(): destroy the GIL after the last call toVictor Stinner2013-07-071-9/+9
| | | | | | | PyMem_Malloc() or PyObject_Malloc(). For example, PyCFunction_Fini() calls PyObject_GC_Del() which calls PyObject_FREE().
* merge for issue #18351.Brett Cannon2013-07-061-801/+799
|\
| * Issue #18351: Fix various issues withBrett Cannon2013-07-061-3369/+3367
| | | | | | | | | | | | | | | | | | importlib._bootstrap._get_sourcefile(). Thanks to its only use by the C API, it was never properly tested until now. Thanks to Neal Norwitz for discovering the bug and Madison May for the patch.
* | Issue #18364: Stop using the ImportError._not_found hack.Brett Cannon2013-07-061-3547/+3547
| | | | | | | | | | | | The private attribute was leaking out of importlib and led to at least one person noticing it. Switch to another hack which won't leak outside of importlib and is nearly as robust.
* | Issue #15767: back out 8a0ed9f63c6e, finishing the removal ofBrett Cannon2013-07-042-371/+375
| | | | | | | | ModuleNotFoundError.
* | Issue #15767: Revert 3a50025f1900 for ModuleNotFoundErrorBrett Cannon2013-07-043-818/+797
| |
* | Issue #18328: Reorder ops in PyThreadState_Delete*() functions. Now theChristian Heimes2013-07-011-2/+2
|\ \ | |/ | | | | | | | | tstate is first removed from TLS and then deallocated. CID 1019639 (#1 of 1): Use after free (USE_AFTER_FREE) use_after_free: Using freed pointer tstate.
| * Issue #18328: Reorder ops in PyThreadState_Delete*() functions. Now theChristian Heimes2013-07-011-2/+2
| | | | | | | | | | | | tstate is first removed from TLS and then deallocated. CID 1019639 (#1 of 1): Use after free (USE_AFTER_FREE) use_after_free: Using freed pointer tstate.
* | Issue 18111: Add a default argument to min() and max()Raymond Hettinger2013-06-251-14/+26
| |
* | If MS_WIN64 is defined, MS_WINDOWS is also defined: #ifdef can be simplified.Victor Stinner2013-06-241-2/+2
| |
* | Issue #9566: pystrtod.c: Fix a compiler warnings on Windows x64Victor Stinner2013-06-241-2/+2
| |
* | Issue #9566: Fix a compiler warning on Windows x64Victor Stinner2013-06-241-4/+2
| |
* | import.c does neither need mode_t nor _mkdir() anymoreChristian Heimes2013-06-231-8/+0
| |
* | (Merge 3.3) Issue #18137: Detect integer overflow on precision inVictor Stinner2013-06-231-2/+14
|\ \ | |/ | | | | float.__format__() and complex.__format__().
| * Issue #18137: Detect integer overflow on precision in float.__format__() andVictor Stinner2013-06-231-2/+14
| | | | | | | | complex.__format__().
* | marshal: optimize parsing of empty Unicode stringsVictor Stinner2013-06-211-12/+17
| | | | | | | | | | Don't create a temporary buffer of zeroy byte nor call r_string() if the length is zero, create directly the empty string.
* | #13226: update references from ctypes/DLFCN modules to os moduleAndrew Kuchling2013-06-211-2/+2
| |
* | Issue #18256: Compilation fix for recent AIX releases. Patch by David Edelsohn.Antoine Pitrou2013-06-181-0/+3
|\ \ | |/
| * Issue #18256: Compilation fix for recent AIX releases. Patch by David Edelsohn.Antoine Pitrou2013-06-181-0/+3
| |
| * Fix a misnaming of a method and an argumentBrett Cannon2013-06-161-1071/+1071
| |
* | Issue #18076: Introduce imoportlib.util.decode_source().Brett Cannon2013-06-161-3549/+3566
| | | | | | | | | | | | | | The helper function makes it easier to implement imoprtlib.abc.InspectLoader.get_source() by making that function require just the raw bytes for source code and handling all other details.
* | importlib.abc.SourceLoader.get_source() was re-raising SyntaxError andBrett Cannon2013-06-161-1719/+1703
| | | | | | | | | | | | | | | | | | UnicodeDecodeError as ImportError. That was over-reaching the point of raising ImportError in get_source() (which is to signal the source code was not found when it should have). Conflating the two exceptions with ImportError could lead to masking errors with the source which should be known outside of whether there was an error simply getting the source to begin with.
* | Issue #18115: Abstract out managing the cleanup of modules to use inBrett Cannon2013-06-161-2437/+2468
| | | | | | | | loaders where C code provides the loaded module.
* | Issues #18058, 18057: Make importlib._bootstrap.NamespaceLoaderBrett Cannon2013-06-161-1072/+1113
| | | | | | | | | | conform the the InspectLoader ABC. Perk of this is that runpy/-m can now work with namespace packages.
* | Issue #17907: touch up the code for imp.new_module().Brett Cannon2013-06-151-3532/+3519
| |
* | Issue #18192: Introduce importlib.util.MAGIC_NUMBER and document theBrett Cannon2013-06-141-2/+2
| | | | | | | | deprecation of imp.get_magic().
* | Issue #15767: Touch up ModuleNotFoundError usage by import.Brett Cannon2013-06-133-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | Forgot to raise ModuleNotFoundError when None is found in sys.modules. This led to introducing the C function PyErr_SetImportErrorSubclass() to make setting ModuleNotFoundError easier. Also updated the reference docs to mention ModuleNotFoundError appropriately. Updated the docs for ModuleNotFoundError to mention the None in sys.modules case. Lastly, it was noticed that PyErr_SetImportError() was not setting an exception when returning None in one case. That issue is now fixed.
* | Issue #15767: Introduce ModuleNotFoundError, a subclass ofBrett Cannon2013-06-122-371/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ImportError. The exception is raised by import when a module could not be found. Technically this is defined as no viable loader could be found for the specified module. This includes ``from ... import`` statements so that the module usage is consistent for all situations where import couldn't find what was requested. This should allow for the common idiom of:: try: import something except ImportError: pass to be updated to using ModuleNotFoundError and not accidentally mask ImportError messages that should propagate (e.g. issues with a loader). This work was driven by the fact that the ``from ... import`` statement needed to be able to tell the difference between an ImportError that simply couldn't find a module (and thus silence the exception so that ceval can raise it) and an ImportError that represented an actual problem.
* | Merge.Richard Oudkerk2013-06-101-2/+3
|\ \ | |/
| * Issue #18180: Fix ref leak in _PyImport_GetDynLoadWindows().Richard Oudkerk2013-06-101-2/+3
| |
| * move definition to top of blockBenjamin Peterson2013-05-171-1/+2
| |
| * complain about "global __class__" in a class body (closes #17983)Benjamin Peterson2013-05-151-0/+6
| |
| * when arguments are cells clear the locals slot (backport of #17927)Benjamin Peterson2013-05-151-2/+6
| |
* | tweak exception message (again)Brett Cannon2013-06-051-2304/+2305
| |
* | Issue #9566: Fix compilater warnings on Windows 64-bitVictor Stinner2013-06-041-1/+1
| |
* | Issue #9566: Fix compiler warning on Windows 64-bitVictor Stinner2013-06-041-1/+2
| |
* | Tweak at the suggestion of Ezio Melotti for exception messages whenBrett Cannon2013-06-041-2300/+2302
| | | | | | | | EOF is hit while trying to read the header of a bytecode file.
* | Issue #18065: For frozen packages set __path__ to [].Brett Cannon2013-06-011-4/+2
| | | | | | | | | | | | | | Previously __path__ was set to [__name__], but that could lead to bad results if someone managed to circumvent the frozen importer and somehow ended up with a finder that thought __name__ was a legit directory/location.
* | Issues #18088, 18089: IntroduceBrett Cannon2013-05-311-3519/+3511
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | importlib.abc.Loader.init_module_attrs() and implement importlib.abc.InspectLoader.load_module(). The importlib.abc.Loader.init_module_attrs() method sets the various attributes on the module being loaded. It is done unconditionally to support reloading. Typically people used importlib.util.module_for_loader, but since that's a decorator there was no way to override it's actions, so init_module_attrs() came into existence to allow for overriding. This is also why module_for_loader is now pending deprecation (having its other use replaced by importlib.util.module_to_load). All of this allowed for importlib.abc.InspectLoader.load_module() to be implemented. At this point you can now implement a loader with nothing more than get_code() (which only requires get_source(); package support requires is_package()). Thanks to init_module_attrs() the implementation of load_module() is basically a context manager containing 2 methods calls, a call to exec(), and a return statement.
* | Rename importlib.util.ModuleManager to module_to_load so that the nameBrett Cannon2013-05-301-3509/+3522
| | | | | | | | explains better what the context manager is providing.
* | Issue #18070: importlib.util.module_for_loader() now sets __loader__Brett Cannon2013-05-281-3432/+3413
| | | | | | | | | | and __package__ unconditionally in order to do the right thing for reloading.
* | Update importlib.hBrett Cannon2013-05-281-2676/+2675
| |
* | Introduce importlib.util.ModuleManager which is a context manager toBrett Cannon2013-05-281-3328/+3400
| | | | | | | | | | | | | | | | handle providing (and cleaning up if needed) the module to be loaded. A future commit will use the context manager in Lib/importlib/_bootstrap.py and thus why the code is placed there instead of in Lib/importlib/util.py.
* | Issue #17917: Use PyModule_AddIntMacro() instead of PyModule_AddIntConstant()Charles-Francois Natali2013-05-201-1/+1
| | | | | | | | when applicable.
* | Issue #17937: Try harder to collect cyclic garbage at shutdown.Antoine Pitrou2013-05-181-0/+1
| |
* | Use PY_FORMAT_SIZE_T because Visual Studio does not understand %zd format.Richard Oudkerk2013-05-181-1/+1
| |