[Python-Dev] Remove METH_OLDARGS? (original) (raw)
Neal Norwitz nnorwitz at gmail.com
Tue May 30 06:15:53 CEST 2006
- Previous message: [Python-Dev] Remove METH_OLDARGS?
- Next message: [Python-Dev] Remove METH_OLDARGS?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 5/29/06, Thomas Wouters <thomas at python.org> wrote:
On 5/29/06, Fredrik Lundh <fredrik at pythonware.com> wrote: > > this is a clear case of unnecessary meddling. removing it won't remove > much code (a whopping 11 lines is dedicated to this), nor give any speed > ups whatsoever; all you're doing is generating extra work and support > issues for a bunch of third-party developers. trust me, we have better > things to do with our time. > > -1 on meddling with this before 3.0.
-1 from me, too, for the same reason. It would be nice if the use of PyArgParse could generate a (C) compile-time warning, but since it can't, I think a runtime warning for this minor case is just overkill. (The C compile-time warning would be useful in other cases, too... hmm, perhaps we can do some post-processing of .o files, looking for deprecated symbols left undefined...)
How can users find the implicit use of METH_OLDARGS in code like this:
static struct PyMethodDef gestalt_methods[] = { {"gestalt", gestalt_gestalt}, {NULL, NULL} /* Sentinel */ };
static PyMethodDef SwiMethods[]= { { "swi", swi_swi,0}, { NULL, NULL} };
The first one was taken straight from one of Georg's checkins, the second one was modified. How many people knew we were still using METH_OLDARGS in these places? I know this can be done with some simple scripts, but that won't catch all cases. And many people won't run such a script, much less write one.
OTOH, perhaps a deprecation warning on PyArgs_Parse() is sufficient? What about that? It doesn't address other cases where OLDARGS are used without PyArgs_Parse though.
n
- Previous message: [Python-Dev] Remove METH_OLDARGS?
- Next message: [Python-Dev] Remove METH_OLDARGS?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]