From 9a69112f85a52e87a171aa3346b5406f794c74ed Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 20 Jun 1995 12:26:03 +0000 Subject: Jim Fulton's change to support doc strings --- Tools/modulator/Templates/module_method | 4 ++++ Tools/modulator/Templates/module_tail | 8 +++++++- Tools/modulator/Templates/object_method | 4 ++++ Tools/modulator/Templates/object_tail | 10 ++++++++++ Tools/modulator/genmodule.py | 8 +++++--- 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/Tools/modulator/Templates/module_method b/Tools/modulator/Templates/module_method index 53cc1ac..9e6c0d2 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 8af75db..6ee7645 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 7ff5cea..9541494 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 4803ea5..65d29d3 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 1c4cd1f..bdfe350 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) -- cgit v0.12