classification
Title: Extension function optional argument specification | causes RuntimeError
Type: crash Stage:
Components: Extension Modules Versions: Python 2.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, pearu
Priority: normal Keywords:

Created on 2008-12-22 12:49 by pearu, last changed 2008-12-22 20:53 by benjamin.peterson. This issue is now closed.

Files
File name Uploaded Description Edit
barmodule.c pearu, 2008-12-22 12:49 Extension module demonstrating the bug
Messages (2)
msg78179 - (view) Author: Pearu Peterson (pearu) Date: 2008-12-22 12:49
Calling the following extension function 

static PyObject *
baz(PyObject *self, PyObject *args, PyObject *keywds)
{
  static char *kwlist[] = {NULL};
  if (!PyArg_ParseTupleAndKeywords(args,keywds,"|:bar.baz", kwlist))
    return NULL;
  return Py_BuildValue("");
}

raises

  RuntimeError: more argument specifiers than keyword list entries
(remaining format:'|:bar.baz')

in Python 2.6 but it used to work with earlier versions of Python.

This bug breaks all f2py generated extension modules when using Python 2.6.
msg78209 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-12-22 20:53
Thanks for the report! Fixed in r67905.
History
Date User Action Args
2008-12-22 20:53:19benjamin.petersonsetstatus: open -> closed
resolution: fixed
messages: + msg78209
nosy: + benjamin.peterson
2008-12-22 12:49:22pearucreate