This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2012年01月14日 06:19 by ncoghlan, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Messages (8) | |||
|---|---|---|---|
| msg151235 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年01月14日 06:19 | |
Georg noted that the PEP 380 patch added a couple of new C interfaces without documenting them. These interfaces need to be either: 1. Documented; 2. Made private; or 3. Removed (if they're completely trivial) PyGen_FetchStopIterationValue: probably document, explicitly noting that it also clears the StopIteration exception from the thread state PyStopIteration_Create: probably remove |
|||
| msg151236 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年01月14日 06:23 | |
The current use of PyStopIteration_Create in genobject.c can probably be replaced with PyErr_SetObject(PyExc_StopIteration, value) anyway. |
|||
| msg151254 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年01月14日 14:02 | |
Also check any GetAttr and CallMethod operations to see if they should be moved over to the new *Id variants. |
|||
| msg151759 - (view) | Author: Meador Inge (meador.inge) * (Python committer) | Date: 2012年01月22日 04:09 | |
'PyStopIteration_Create' is just a trivial wrapper:
PyObject *
PyStopIteration_Create(PyObject *value)
{
return PyObject_CallFunctionObjArgs(PyExc_StopIteration, value, NULL);
}
It is not needed.
As for 'PyGen_FetchStopIterationValue', does it really need to be public? It is trivial to make it private because all calls to it are in 'genobject.c'. However, I am not sure if there is a strong use case for having it public.
|
|||
| msg162714 - (view) | Author: Mark Shannon (Mark.Shannon) * (Python committer) | Date: 2012年06月13日 17:33 | |
There is one call to PyGen_FetchStopIterationValue in ceval.c. But I don't think it should be public. There is no real reason for the "Gen" in the name. The function is used by generator handling code, but the code itself relates to StopIteration. Perhaps it should be moved to errors.c and renamed _PyErr_FetchStopIterationValue. |
|||
| msg163013 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年06月17日 05:16 | |
New changeset cfbf6aa5c9e3 by Nick Coghlan in branch 'default': Issue #13783: the PEP 380 implementation no longer expands the public C API http://hg.python.org/cpython/rev/cfbf6aa5c9e3 |
|||
| msg163016 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年06月17日 05:45 | |
New changeset 438b861e2edb by Nick Coghlan in branch 'default': Issue #13783: PEP 380 cleanup part 2, using the new identifier APIs in the generator implementation http://hg.python.org/cpython/rev/438b861e2edb |
|||
| msg163017 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2012年06月17日 05:48 | |
I left the name of the new private API as _PyGen_FetchStopIterationValue. If anyone wants to make it public, they can raise a new issue to give it a more appropriate name (and move the definition accordingly). PyStopIteration_Create is simply gone, replaced by the underlying call. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:25 | admin | set | nosy:
+ georg.brandl github: 57992 |
| 2012年06月17日 05:48:44 | ncoghlan | set | status: open -> closed resolution: fixed messages: + msg163017 stage: needs patch -> resolved |
| 2012年06月17日 05:45:32 | python-dev | set | messages: + msg163016 |
| 2012年06月17日 05:16:04 | python-dev | set | nosy:
+ python-dev messages: + msg163013 |
| 2012年06月13日 17:33:27 | Mark.Shannon | set | nosy:
+ Mark.Shannon messages: + msg162714 |
| 2012年06月12日 12:02:59 | ncoghlan | set | priority: normal -> release blocker assignee: docs@python -> ncoghlan |
| 2012年01月22日 04:09:31 | meador.inge | set | nosy:
+ meador.inge messages: + msg151759 type: enhancement stage: needs patch |
| 2012年01月14日 14:02:15 | ncoghlan | set | messages: + msg151254 |
| 2012年01月14日 06:23:53 | ncoghlan | set | messages: + msg151236 |
| 2012年01月14日 06:19:46 | ncoghlan | create | |