Commit graph

665 commits

Author SHA1 Message Date
Victor Stinner
4d7056258b Issue #3329: Add new APIs to customize memory allocators
* Add a new PyMemAllocators structure
* New functions:

  - PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree(): GIL-free memory
    allocator functions
  - PyMem_GetRawAllocators(), PyMem_SetRawAllocators()
  - PyMem_GetAllocators(), PyMem_SetAllocators()
  - PyMem_SetupDebugHooks()
  - _PyObject_GetArenaAllocators(), _PyObject_SetArenaAllocators()

* Add unit test for PyMem_Malloc(0) and PyObject_Malloc(0)
* Add unit test for new get/set allocators functions
* PyObject_Malloc() now falls back on PyMem_Malloc() instead of malloc() if
  size is bigger than SMALL_REQUEST_THRESHOLD, and PyObject_Realloc() falls
  back on PyMem_Realloc() instead of realloc()
* PyMem_Malloc() and PyMem_Realloc() now always call malloc() and realloc(),
  instead of calling PyObject_Malloc() and PyObject_Realloc() in debug mode
2013-06-15 00:37:46 +02:00
Brett Cannon
8f5ac5106e Issue #15767: Touch up ModuleNotFoundError usage by import.
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.
2013-06-12 23:29:18 -04:00
Brett Cannon
b1611e2772 Issue #15767: Introduce ModuleNotFoundError, a subclass of
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.
2013-06-12 16:59:46 -04:00
Serhiy Storchaka
1cfebc73e0 Issue #9369: The types of char* arguments of PyObject_CallFunction() and
PyObject_CallMethod() now changed to `const char*`.
Based on patches by Jörg Müller and Lars Buitinck.
2013-05-29 18:50:54 +03:00
Andrew Kuchling
1e170bae71 #1554133: Document PyOS_InputHook, PyOS_ReadlineFunctionPointer 2013-05-28 21:48:28 -04:00
Victor Stinner
8cecc8c262 Issue #7330: Implement width and precision (ex: "%5.3s") for the format string
of PyUnicode_FromFormat() function, original patch written by Ysj Ray.
2013-05-06 23:11:54 +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
Ezio Melotti
4cfc0b5411 #16518: merge with 3.3. 2013-05-04 18:07:12 +03:00
Ezio Melotti
c228e96726 #16518: use "bytes-like object" throughout the docs. 2013-05-04 18:06:34 +03:00
Georg Brandl
f36f20f850 merge with 3.3 2013-04-14 11:16:46 +02:00
Georg Brandl
991fc5736e Closes #13638: document PyErr_SetFromErrnoWithFilenameObject,
PyErr_SetFromWindowsErrWithFilenameObject, and
PyErr_SetExcFromWindowsErrWithFilenameObject.

Note that PyErr_SetExcFromWindowsErrWithFilenameObjectAndSomeOtherParametersSoThatTheNameGetsSoLongThatNobodyIsEverGonnaUseThisStrangeFunctionForAnything is still undocumented.
2013-04-14 11:12:16 +02:00
Georg Brandl
1bab7134a8 Merge with 3.3. 2013-03-28 13:28:55 +01:00
Georg Brandl
44ea77bd81 Closes #4159: add LaTeX tabular column specifications to tables that otherwise are cut off or have overlapping text. 2013-03-28 13:28:44 +01:00
Kristján Valur Jónsson
34870c4142 Issue #17522: Minor documentation fix 2013-03-23 03:56:16 -07:00
Kristján Valur Jónsson
684cd0e643 Issue #17522: Add the PyGILState_Check() API. 2013-03-23 03:36:16 -07:00
Gregory P. Smith
d4296fc19c cleanup references to PyString_ APIs in the 3.x docs. 2013-03-22 13:49:53 -07:00
Gregory P. Smith
bcd2aa6d06 cleanup references to PyString_ APIs from 2.x in the 3.3 docs. 2013-03-22 13:49:26 -07:00
Gregory P. Smith
4b52ae8f97 Clean up references to the no longer existing PyString_ APIs in our docs. 2013-03-22 13:43:30 -07:00
Georg Brandl
694bafa04e merge with 3.3 2013-03-16 08:03:51 +01:00
Georg Brandl
1f68a2f27f Remove row-spanning cell, which the Sphinx text writer does not support. 2013-03-16 08:01:49 +01:00
Terry Jan Reedy
dd61f8f389 Merge with 3.3: Issue #17047: removed doubled words in Doc/*,
Mac/*, and Tool/* found by Serhiy Storchaka and Matthew Barnett
2013-03-11 17:27:28 -04:00
Terry Jan Reedy
caeb6bea9b Merge with 3.2: Issue #17047: removed doubled words in Doc/*,
Mac/*, and Tool/* found by Serhiy Storchaka and Matthew Barnett
2013-03-11 17:26:33 -04:00
Terry Jan Reedy
65e69b3718 Issue #17047: removed doubled words in Doc/*, Mac/*, and Tool/*
found by Serhiy Storchaka and Matthew Barnett
2013-03-11 17:23:46 -04:00
Benjamin Peterson
37474f43f3 fix spelling (#17327) 2013-03-11 12:17:19 -05:00
Benjamin Peterson
285581405d say defaultobj is returned (#17327) 2013-03-11 11:50:21 -05:00
Benjamin Peterson
e094833f22 remove more useless words 2013-03-11 11:35:47 -05:00
Benjamin Peterson
89fe665e38 remove useless words (#17327) 2013-03-11 11:31:29 -05:00
Ezio Melotti
fc5c5320a0 Fix typo in PyDict_SetDefault docs. 2013-03-10 20:57:16 +02:00
Benjamin Peterson
00e9886bd9 Add PyDict_SetDefault. (closes #17327)
Patch by Stefan Behnel and I.
2013-03-07 22:16:29 -05:00
Nick Coghlan
90c91afd2e Merge fix for #15465 from 3.3 2013-03-07 23:45:03 +10:00
Nick Coghlan
7d82c8621b Close #15465: Document C API version macros
Mostly moving the existing macro docs over from the standard
library docs to the C API docs where they belong.

Patch by Kushal Das.
2013-03-07 23:14:44 +10:00
Ezio Melotti
648b5900d5 #17363: merge with 3.3. 2013-03-06 02:59:25 +02:00
Ezio Melotti
32b0f02034 #17363: fix arguments in PyState_AddModule and PyState_RemoveModule docs. 2013-03-06 02:57:25 +02:00
Andrew Svetlov
1d1210ec3b Merge: remove redundant sentence from c-api docs (issue #16323) 2012-11-29 15:23:46 +02:00
Andrew Svetlov
f4c3a187d5 Remove redundant sentence from c-api docs (issue #16323) 2012-11-29 15:23:15 +02:00
Andrew Svetlov
122e9306ad Merge issue #16323: Fix wrong C API documentation for locale encoding.
Patch by Berker Peksag.
2012-11-28 12:34:27 +02:00
Andrew Svetlov
0fe030bb03 Issue #16323: Fix wrong C API documentation for locale encoding.
Patch by Berker Peksag.
2012-11-28 12:33:58 +02:00
Chris Jerdonek
16459e8b16 Merge from 3.3: Add a str class entry to the string section (issue #16209).
This commit also moves the documentation for the str built-in function to
the new class entry.  Links to :class:`str` now go to the class entry with
the string methods immediately afterwards.
2012-11-28 01:45:15 -08:00
Chris Jerdonek
bb4e941c6d Add a str class entry to the "Text Sequence Type" section (issue #16209).
This commit also moves the documentation for the str built-in function to
the new class entry.  Links to :class:`str` now go to the class entry with
the string methods immediately afterwards.
2012-11-28 01:38:40 -08:00
Chris Jerdonek
d675a2c48a Merge from 3.3: Improve str() and object.__str__() docs (issue #13538). 2012-11-20 17:53:17 -08:00
Chris Jerdonek
5fae0e5854 Improve str() and object.__str__() documentation (issue #13538). 2012-11-20 17:45:51 -08:00
Andrew Svetlov
23a4c790b4 Merge: Remove already dropped function PySys_GetFile from documentation.
Thanks to Daniel Müllner from docs@
2012-10-31 12:03:48 +02:00
Andrew Svetlov
f9c7c3641b Merge: Remove already dropped function PySys_GetFile from documentation.
Thanks to Daniel Müllner from docs@
2012-10-31 12:03:18 +02:00
Andrew Svetlov
4deb16dd75 Remove already dropped function PySys_GetFile from documentation.
Thanks to Daniel Müllner from docs@
2012-10-31 12:02:56 +02:00
Chris Jerdonek
21fecc764c Merge from 3.3: remove unneeded "Release" and "Date" markers from index pages. 2012-10-28 11:13:51 -07:00
Chris Jerdonek
d285029ee8 Merge from 3.2: remove unneeded "Release" and "Date" markers from index pages. 2012-10-28 11:10:24 -07:00
Chris Jerdonek
8b7f9f581d Remove unneeded "Release" and "Date" markers from doc index pages. 2012-10-28 11:08:26 -07:00
Armin Ronacher
74b38b190f Issue #16148: Small improvements and cleanup. Added version information
to docs.
2012-10-07 10:29:32 +02:00
Armin Ronacher
aa9a79d279 Issue #16148: implemented PEP 424 2012-10-06 14:03:24 +02:00
Ezio Melotti
e7f90375b1 #16127: remove outdated references to narrow builds. Patch by Serhiy Storchaka. 2012-10-05 03:33:31 +03:00