From: Jack Jansen Date: Tue, 20 Jun 1995 12:26:03 +0000 (+0000) Subject: Jim Fulton's change to support doc strings X-Git-Tag: v1.3b1~267 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9a69112f85a52e87a171aa3346b5406f794c74ed;p=thirdparty%2FPython%2Fcpython.git Jim Fulton's change to support doc strings --- diff --git a/Tools/modulator/Templates/module_method b/Tools/modulator/Templates/module_method index 53cc1ac605b1..9e6c0d2c12fc 100644 --- a/Tools/modulator/Templates/module_method +++ b/Tools/modulator/Templates/module_method @@ -1,4 +1,8 @@ +static char $abbrev$_$method$__doc__[] = +"" +; + static PyObject * $abbrev$_$method$(self, args) PyObject *self; /* Not used */ diff --git a/Tools/modulator/Templates/module_tail b/Tools/modulator/Templates/module_tail index 8af75db9d65a..6ee7645ff421 100644 --- a/Tools/modulator/Templates/module_tail +++ b/Tools/modulator/Templates/module_tail @@ -9,13 +9,19 @@ static struct PyMethodDef $abbrev$_methods[] = { /* Initialization function for the module (*must* be called init$name$) */ +static char $name$_module_documentation[] = +"" +; + void init$name$() { PyObject *m, *d; /* Create the module and add the functions */ - m = Py_InitModule("$name$", $abbrev$_methods); + m = Py_InitModule4("$name$", $abbrev$_methods, + $name$_module_documentation, + (PyObject*)NULL,PYTHON_API_VERSION); /* Add some symbolic constants to the module */ d = PyModule_GetDict(m); diff --git a/Tools/modulator/Templates/object_method b/Tools/modulator/Templates/object_method index 7ff5cea4efd5..95414947c403 100644 --- a/Tools/modulator/Templates/object_method +++ b/Tools/modulator/Templates/object_method @@ -1,4 +1,8 @@ +static char $abbrev$_$method$__doc__[] = +"" +; + static PyObject * $abbrev$_$method$(self, args) $abbrev$object *self; diff --git a/Tools/modulator/Templates/object_tail b/Tools/modulator/Templates/object_tail index 4803ea5542a2..65d29d35b46c 100644 --- a/Tools/modulator/Templates/object_tail +++ b/Tools/modulator/Templates/object_tail @@ -1,4 +1,8 @@ +static char $Abbrev$type__doc__[] = +"" +; + static PyTypeObject $Abbrev$type = { PyObject_HEAD_INIT(&PyType_Type) 0, /*ob_size*/ @@ -16,6 +20,12 @@ static PyTypeObject $Abbrev$type = { $tp_as_sequence$, /*tp_as_sequence*/ $tp_as_mapping$, /*tp_as_mapping*/ (hashfunc)$tp_hash$, /*tp_hash*/ + (binaryfunc)$tp_call$, /*tp_call*/ + (reprfunc)$tp_str$, /*tp_str*/ + + /* Space for future expansion */ + 0L,0L,0L,0L, + $Abbrev$type__doc__ /* Documentation string */ }; /* End of code for $name$ objects */ diff --git a/Tools/modulator/genmodule.py b/Tools/modulator/genmodule.py index 1c4cd1f39146..bdfe350baadc 100755 --- a/Tools/modulator/genmodule.py +++ b/Tools/modulator/genmodule.py @@ -28,7 +28,7 @@ error = 'genmodule.error' # Names of functions in the object-description struct. # FUNCLIST = ['new', 'tp_dealloc', 'tp_print', 'tp_getattr', 'tp_setattr', - 'tp_compare', 'tp_repr', 'tp_hash'] + 'tp_compare', 'tp_repr', 'tp_hash', 'tp_call', 'tp_str'] TYPELIST = ['tp_as_number', 'tp_as_sequence', 'tp_as_mapping', 'structure'] # @@ -81,7 +81,8 @@ class module(writer): for fn in self.methodlist: self.method = fn self.addcode('module_method', fp) - new_ml = new_ml + ('{"%s",\t%s_%s,\t1},\n'%(fn, self.abbrev, fn)) + new_ml = new_ml + ('{"%s",\t%s_%s,\t1,\t%s_%s__doc__},\n' + %(fn, self.abbrev, fn, self.abbrev, fn)) self.methodlist = new_ml self.addcode('module_tail', fp) @@ -106,7 +107,8 @@ class object(writer): for fn in self.methodlist: self.method = fn self.addcode('object_method', fp) - new_ml = new_ml + ('{"%s",\t%s_%s,\t1},\n'%(fn, self.abbrev, fn)) + new_ml = new_ml + ('{"%s",\t%s_%s,\t1,\t%s_%s__doc__},\n' + %(fn, self.abbrev, fn, self.abbrev, fn)) self.methodlist = new_ml self.addcode('object_mlist', fp)