New submission from Sandro Tosi:

Hello,
this has been reported at 
http://mail.python.org/pipermail/docs/2012-July/009223.html but since I have no 
experience to judge if it's correct or not, i'll just report it:

>>>
I've recenty started to try using C code in python using the wonderful
python API, although i have to say the learning curve was non neglectable :P
I've spotted what I believe to be a small mistake in the documentation
from this page:
http://docs.python.org/release/3.2/extending/extending.html

In paragraph 1.8
(http://docs.python.org/release/3.2/extending/extending.html#keyword-parameters-for-extension-functions),
the code example given contains an error, which is actually obsolete
code from python 2.7:

void
initkeywdarg(void)
{
  /* Create the module and add the functions */
  Py_InitModule("keywdarg", keywdarg_methods);
}


This doesn't work in Python3.2. It's supposed to be

static struct PyModuleDef keywdargmodule = {
   PyModuleDef_HEAD_INIT,
   "keywdarg",   /* name of module */
   keywdarg_doc, /* module documentation, may be NULL */
   -1,       /* size of per-interpreter state of the module,
                or -1 if the module keeps state in global variables. */
   keywdarg_methods
};

PyMODINIT_FUNC
PyInit_keywdarg(void)
{
    return PyModule_Create(&keywdargmodule);
}

As explained above (and confirmed by experience).
<<<

----------
assignee: docs@python
components: Documentation
messages: 168223
nosy: docs@python, sandro.tosi
priority: normal
severity: normal
stage: patch review
status: open
title: "Extending Python with C" page needs update for 3.x
versions: Python 3.2, Python 3.3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15656>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to