Ignore:
Timestamp:
Mar 19, 2014, 11:11:30 AM (11 years ago)
Author:
dmik
Message:

python: Update vendor to 2.7.6.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/vendor/current/Modules/flmodule.c

    r2 r388  
    2323
    2424typedef struct {
    25         PyObject_HEAD
    26         FL_OBJECT *ob_generic;
    27         PyMethodDef *ob_methods;
    28         PyObject *ob_callback;
    29         PyObject *ob_callback_arg;
     25    PyObject_HEAD
     26    FL_OBJECT *ob_generic;
     27    PyMethodDef *ob_methods;
     28    PyObject *ob_callback;
     29    PyObject *ob_callback_arg;
    3030} genericobject;
    3131
     
    4444knowgeneric(genericobject *g)
    4545{
    46         int i, n;
    47         /* Create the list if it doesn't already exist */
    48         if (allgenerics == NULL) {
    49                 allgenerics = PyList_New(0);
    50                 if (allgenerics == NULL) {
    51                         PyErr_Clear();
    52                         return; /* Too bad, live without allgenerics... */
    53                 }
    54         }
    55         if (nfreeslots > 0) {
    56                 /* Search the list for reusable slots (NULL items) */
    57                 /* XXX This can be made faster! */
    58                 n = PyList_Size(allgenerics);
    59                 for (i = 0; i < n; i++) {
    60                         if (PyList_GetItem(allgenerics, i) == NULL) {
    61                                 Py_INCREF(g);
    62                                 PyList_SetItem(allgenerics, i, (PyObject *)g);
    63                                 nfreeslots--;
    64                                 return;
    65                         }
    66                 }
    67                 /* Strange... no free slots found... */
    68                 nfreeslots = 0;
    69         }
    70         /* No free entries, append new item to the end */
    71         PyList_Append(allgenerics, (PyObject *)g);
     46    int i, n;
     47    /* Create the list if it doesn't already exist */
     48    if (allgenerics == NULL) {
     49        allgenerics = PyList_New(0);
     50        if (allgenerics == NULL) {
     51            PyErr_Clear();
     52            return; /* Too bad, live without allgenerics... */
     53        }
     54    }
     55    if (nfreeslots > 0) {
     56        /* Search the list for reusable slots (NULL items) */
     57        /* XXX This can be made faster! */
     58        n = PyList_Size(allgenerics);
     59        for (i = 0; i < n; i++) {
     60            if (PyList_GetItem(allgenerics, i) == NULL) {
     61                Py_INCREF(g);
     62                PyList_SetItem(allgenerics, i, (PyObject *)g);
     63                nfreeslots--;
     64                return;
     65            }
     66        }
     67        /* Strange... no free slots found... */
     68        nfreeslots = 0;
     69    }
     70    /* No free entries, append new item to the end */
     71    PyList_Append(allgenerics, (PyObject *)g);
    7272}
    7373
     
    7777findgeneric(FL_OBJECT *generic)
    7878{
    79         int i, n;
    80         genericobject *g;
    81        
    82         if (allgenerics == NULL)
    83                 return NULL; /* No objects known yet */
    84         n = PyList_Size(allgenerics);
    85         for (i = 0; i < n; i++) {
    86                 g = (genericobject *)PyList_GetItem(allgenerics, i);
    87                 if (g != NULL && g->ob_generic == generic)
    88                         return g;
    89         }
    90         return NULL; /* Unknown object */
     79    int i, n;
     80    genericobject *g;
     81
     82    if (allgenerics == NULL)
     83        return NULL; /* No objects known yet */
     84    n = PyList_Size(allgenerics);
     85    for (i = 0; i < n; i++) {
     86        g = (genericobject *)PyList_GetItem(allgenerics, i);
     87        if (g != NULL && g->ob_generic == generic)
     88            return g;
     89    }
     90    return NULL; /* Unknown object */
    9191}
    9292
     
    9696forgetgeneric(genericobject *g)
    9797{
    98         int i, n;
    99        
    100         Py_XDECREF(g->ob_callback);
    101         g->ob_callback = NULL;
    102         Py_XDECREF(g->ob_callback_arg);
    103         g->ob_callback_arg = NULL;
    104         if (allgenerics == NULL)
    105                 return; /* No objects known yet */
    106         n = PyList_Size(allgenerics);
    107         for (i = 0; i < n; i++) {
    108                 if (g == (genericobject *)PyList_GetItem(allgenerics, i)) {
    109                         PyList_SetItem(allgenerics, i, (PyObject *)NULL);
    110                         nfreeslots++;
    111                         break;
    112                 }
    113         }
     98    int i, n;
     99
     100    Py_XDECREF(g->ob_callback);
     101    g->ob_callback = NULL;
     102    Py_XDECREF(g->ob_callback_arg);
     103    g->ob_callback_arg = NULL;
     104    if (allgenerics == NULL)
     105        return; /* No objects known yet */
     106    n = PyList_Size(allgenerics);
     107    for (i = 0; i < n; i++) {
     108        if (g == (genericobject *)PyList_GetItem(allgenerics, i)) {
     109            PyList_SetItem(allgenerics, i, (PyObject *)NULL);
     110            nfreeslots++;
     111            break;
     112        }
     113    }
    114114}
    115115
     
    120120releaseobjects(FL_FORM *form)
    121121{
    122         int i, n;
    123         genericobject *g;
    124        
    125         if (allgenerics == NULL)
    126                 return; /* No objects known yet */
    127         n = PyList_Size(allgenerics);
    128         for (i = 0; i < n; i++) {
    129                 g = (genericobject *)PyList_GetItem(allgenerics, i);
    130                 if (g != NULL && g->ob_generic->form == form) {
    131                         fl_delete_object(g->ob_generic);
    132                         /* The object is now unreachable for
    133                            do_forms and check_forms, so
    134                            delete it from the list of known objects */
    135                         Py_XDECREF(g->ob_callback);
    136                         g->ob_callback = NULL;
    137                         Py_XDECREF(g->ob_callback_arg);
    138                         g->ob_callback_arg = NULL;
    139                         PyList_SetItem(allgenerics, i, (PyObject *)NULL);
    140                         nfreeslots++;
    141                 }
    142         }
     122    int i, n;
     123    genericobject *g;
     124
     125    if (allgenerics == NULL)
     126        return; /* No objects known yet */
     127    n = PyList_Size(allgenerics);
     128    for (i = 0; i < n; i++) {
     129        g = (genericobject *)PyList_GetItem(allgenerics, i);
     130        if (g != NULL && g->ob_generic->form == form) {
     131            fl_delete_object(g->ob_generic);
     132            /* The object is now unreachable for
     133               do_forms and check_forms, so
     134               delete it from the list of known objects */
     135            Py_XDECREF(g->ob_callback);
     136            g->ob_callback = NULL;
     137            Py_XDECREF(g->ob_callback_arg);
     138            g->ob_callback_arg = NULL;
     139            PyList_SetItem(allgenerics, i, (PyObject *)NULL);
     140            nfreeslots++;
     141        }
     142    }
    143143}
    144144
     
    149149generic_set_call_back(genericobject *g, PyObject *args)
    150150{
    151         if (PyTuple_GET_SIZE(args) == 0) {
    152                 Py_XDECREF(g->ob_callback);
    153                 Py_XDECREF(g->ob_callback_arg);
    154                 g->ob_callback = NULL;
    155                 g->ob_callback_arg = NULL;
    156         }
    157         else {
    158         PyObject *a, *b;
    159         if (!PyArg_UnpackTuple(args, "set_call_back", 2, 2, &a, &b))
    160             return NULL;
    161                 Py_XDECREF(g->ob_callback);
    162                 Py_XDECREF(g->ob_callback_arg);
    163                 g->ob_callback = a;
    164                 Py_INCREF(g->ob_callback);
    165                 g->ob_callback_arg = b;
    166                 Py_INCREF(g->ob_callback_arg);
    167         }
    168         Py_INCREF(Py_None);
    169         return Py_None;
     151    if (PyTuple_GET_SIZE(args) == 0) {
     152        Py_XDECREF(g->ob_callback);
     153        Py_XDECREF(g->ob_callback_arg);
     154        g->ob_callback = NULL;
     155        g->ob_callback_arg = NULL;
     156    }
     157    else {
     158    PyObject *a, *b;
     159    if (!PyArg_UnpackTuple(args, "set_call_back", 2, 2, &a, &b))
     160        return NULL;
     161        Py_XDECREF(g->ob_callback);
     162        Py_XDECREF(g->ob_callback_arg);
     163        g->ob_callback = a;
     164        Py_INCREF(g->ob_callback);
     165        g->ob_callback_arg = b;
     166        Py_INCREF(g->ob_callback_arg);
     167    }
     168    Py_INCREF(Py_None);
     169    return Py_None;
    170170}
    171171
     
    173173generic_call(genericobject *g, void (*func)(FL_OBJECT *))
    174174{
    175         (*func)(g->ob_generic);
    176         Py_INCREF(Py_None);
    177         return Py_None;
     175    (*func)(g->ob_generic);
     176    Py_INCREF(Py_None);
     177    return Py_None;
    178178}
    179179
     
    181181generic_delete_object(genericobject *g)
    182182{
    183         PyObject *res;
    184         res = generic_call(g, fl_delete_object);
    185         if (res != NULL)
    186                 forgetgeneric(g);
    187         return res;
     183    PyObject *res;
     184    res = generic_call(g, fl_delete_object);
     185    if (res != NULL)
     186        forgetgeneric(g);
     187    return res;
    188188}
    189189
     
    191191generic_show_object(genericobject *g)
    192192{
    193         return generic_call(g, fl_show_object);
     193    return generic_call(g, fl_show_object);
    194194}
    195195
     
    197197generic_hide_object(genericobject *g)
    198198{
    199         return generic_call(g, fl_hide_object);
     199    return generic_call(g, fl_hide_object);
    200200}
    201201
     
    203203generic_redraw_object(genericobject *g)
    204204{
    205         return generic_call(g, fl_redraw_object);
     205    return generic_call(g, fl_redraw_object);
    206206}
    207207
    208208#ifdef OBSOLETE_FORMS_CALLS
    209  
     209
    210210 /* (un)freeze_object() are obsolete in FORMS 2.2 and unsupported
    211211    in 2.3.  Since there's no foolproof way to tell which version we're
    212212    using, we omit them unconditionally. */
    213  
     213
    214214static PyObject *
    215215generic_freeze_object(genericobject *g)
    216216{
    217         return generic_call(g, fl_freeze_object);
     217    return generic_call(g, fl_freeze_object);
    218218}
    219219
     
    221221generic_unfreeze_object(genericobject *g)
    222222{
    223         return generic_call(g, fl_unfreeze_object);
     223    return generic_call(g, fl_unfreeze_object);
    224224}
    225225
     
    229229generic_activate_object(genericobject *g)
    230230{
    231         return generic_call(g, fl_activate_object);
     231    return generic_call(g, fl_activate_object);
    232232}
    233233
     
    235235generic_deactivate_object(genericobject *g)
    236236{
    237         return generic_call(g, fl_deactivate_object);
     237    return generic_call(g, fl_deactivate_object);
    238238}
    239239
     
    241241generic_set_object_shortcut(genericobject *g, PyObject *args)
    242242{
    243         char *str;
    244         if (!PyArg_ParseTuple(args, "s:set_object_shortcut", &str))
    245                 return NULL;
    246         fl_set_object_shortcut(g->ob_generic, str);
    247         Py_INCREF(Py_None);
    248         return Py_None;
     243    char *str;
     244    if (!PyArg_ParseTuple(args, "s:set_object_shortcut", &str))
     245        return NULL;
     246    fl_set_object_shortcut(g->ob_generic, str);
     247    Py_INCREF(Py_None);
     248    return Py_None;
    249249}
    250250
    251251static PyMethodDef generic_methods[] = {
    252         {"set_call_back",       (PyCFunction)generic_set_call_back, METH_VARARGS},
    253         {"delete_object",       (PyCFunction)generic_delete_object, METH_NOARGS},
    254         {"show_object",         (PyCFunction)generic_show_object, METH_NOARGS},
    255         {"hide_object",         (PyCFunction)generic_hide_object, METH_NOARGS},
    256         {"redraw_object",       (PyCFunction)generic_redraw_object, METH_NOARGS},
     252    {"set_call_back",           (PyCFunction)generic_set_call_back, METH_VARARGS},
     253    {"delete_object",           (PyCFunction)generic_delete_object, METH_NOARGS},
     254    {"show_object",             (PyCFunction)generic_show_object, METH_NOARGS},
     255    {"hide_object",             (PyCFunction)generic_hide_object, METH_NOARGS},
     256    {"redraw_object",           (PyCFunction)generic_redraw_object, METH_NOARGS},
    257257#ifdef OBSOLETE_FORMS_CALLS
    258         {"freeze_object",       (PyCFunction)generic_freeze_object, METH_NOARGS},
    259         {"unfreeze_object",     (PyCFunction)generic_unfreeze_object, METH_NOARGS},
     258    {"freeze_object",           (PyCFunction)generic_freeze_object, METH_NOARGS},
     259    {"unfreeze_object",         (PyCFunction)generic_unfreeze_object, METH_NOARGS},
    260260#endif
    261         {"activate_object",     (PyCFunction)generic_activate_object, METH_NOARGS},
    262         {"deactivate_object",   (PyCFunction)generic_deactivate_object, METH_NOARGS},
    263         {"set_object_shortcut", (PyCFunction)generic_set_object_shortcut, METH_VARARGS},
    264         {NULL,                  NULL}           /* sentinel */
     261    {"activate_object",         (PyCFunction)generic_activate_object, METH_NOARGS},
     262    {"deactivate_object",       (PyCFunction)generic_deactivate_object, METH_NOARGS},
     263    {"set_object_shortcut",     (PyCFunction)generic_set_object_shortcut, METH_VARARGS},
     264    {NULL,                      NULL}           /* sentinel */
    265265};
    266266
     
    268268generic_dealloc(genericobject *g)
    269269{
    270         fl_free_object(g->ob_generic);
    271         Py_XDECREF(g->ob_callback);
    272         Py_XDECREF(g->ob_callback_arg);
    273         PyObject_Del(g);
     270    fl_free_object(g->ob_generic);
     271    Py_XDECREF(g->ob_callback);
     272    Py_XDECREF(g->ob_callback_arg);
     273    PyObject_Del(g);
    274274}
    275275
     
    277277
    278278static struct memberlist generic_memberlist[] = {
    279         {"objclass",    T_INT,          OFF(objclass),  RO},
    280         {"type",        T_INT,          OFF(type),      RO},
    281         {"boxtype",     T_INT,          OFF(boxtype)},
    282         {"x",           T_FLOAT,        OFF(x)},
    283         {"y",           T_FLOAT,        OFF(y)},
    284         {"w",           T_FLOAT,        OFF(w)},
    285         {"h",           T_FLOAT,        OFF(h)},
    286         {"col1",        T_INT,          OFF(col1)},
    287         {"col2",        T_INT,          OFF(col2)},
    288         {"align",       T_INT,          OFF(align)},
    289         {"lcol",        T_INT,          OFF(lcol)},
    290         {"lsize",       T_FLOAT,        OFF(lsize)},
    291         /* "label" is treated specially! */
    292         {"lstyle",      T_INT,          OFF(lstyle)},
    293         {"pushed",      T_INT,          OFF(pushed),    RO},
    294         {"focus",       T_INT,          OFF(focus),     RO},
    295         {"belowmouse",  T_INT,          OFF(belowmouse),RO},
    296 /*      {"frozen",      T_INT,          OFF(frozen),    RO},    */
    297         {"active",      T_INT,          OFF(active)},
    298         {"input",       T_INT,          OFF(input)},
    299         {"visible",     T_INT,          OFF(visible),   RO},
    300         {"radio",       T_INT,          OFF(radio)},
    301         {"automatic",   T_INT,          OFF(automatic)},
    302         {NULL}  /* Sentinel */
     279    {"objclass",        T_INT,          OFF(objclass),  RO},
     280    {"type",            T_INT,          OFF(type),      RO},
     281    {"boxtype",         T_INT,          OFF(boxtype)},
     282    {"x",               T_FLOAT,        OFF(x)},
     283    {"y",               T_FLOAT,        OFF(y)},
     284    {"w",               T_FLOAT,        OFF(w)},
     285    {"h",               T_FLOAT,        OFF(h)},
     286    {"col1",            T_INT,          OFF(col1)},
     287    {"col2",            T_INT,          OFF(col2)},
     288    {"align",           T_INT,          OFF(align)},
     289    {"lcol",            T_INT,          OFF(lcol)},
     290    {"lsize",           T_FLOAT,        OFF(lsize)},
     291    /* "label" is treated specially! */
     292    {"lstyle",          T_INT,          OFF(lstyle)},
     293    {"pushed",          T_INT,          OFF(pushed),    RO},
     294    {"focus",           T_INT,          OFF(focus),     RO},
     295    {"belowmouse",      T_INT,          OFF(belowmouse),RO},
     296/*      {"frozen",      T_INT,          OFF(frozen),    RO},    */
     297    {"active",          T_INT,          OFF(active)},
     298    {"input",           T_INT,          OFF(input)},
     299    {"visible",         T_INT,          OFF(visible),   RO},
     300    {"radio",           T_INT,          OFF(radio)},
     301    {"automatic",       T_INT,          OFF(automatic)},
     302    {NULL}      /* Sentinel */
    303303};
    304304
     
    308308generic_getattr(genericobject *g, char *name)
    309309{
    310         PyObject *meth;
    311 
    312         /* XXX Ought to special-case name "__methods__" */
    313         if (g-> ob_methods) {
    314                 meth = Py_FindMethod(g->ob_methods, (PyObject *)g, name);
    315                 if (meth != NULL) return meth;
    316                 PyErr_Clear();
    317         }
    318 
    319         meth = Py_FindMethod(generic_methods, (PyObject *)g, name);
    320         if (meth != NULL)
    321                 return meth;
    322         PyErr_Clear();
    323 
    324         /* "label" is an exception, getmember only works for char pointers,
    325            not for char arrays */
    326         if (strcmp(name, "label") == 0)
    327                 return PyString_FromString(g->ob_generic->label);
    328 
    329         return PyMember_Get((char *)g->ob_generic, generic_memberlist, name);
     310    PyObject *meth;
     311
     312    /* XXX Ought to special-case name "__methods__" */
     313    if (g-> ob_methods) {
     314        meth = Py_FindMethod(g->ob_methods, (PyObject *)g, name);
     315        if (meth != NULL) return meth;
     316        PyErr_Clear();
     317    }
     318
     319    meth = Py_FindMethod(generic_methods, (PyObject *)g, name);
     320    if (meth != NULL)
     321        return meth;
     322    PyErr_Clear();
     323
     324    /* "label" is an exception, getmember only works for char pointers,
     325       not for char arrays */
     326    if (strcmp(name, "label") == 0)
     327        return PyString_FromString(g->ob_generic->label);
     328
     329    return PyMember_Get((char *)g->ob_generic, generic_memberlist, name);
    330330}
    331331
     
    333333generic_setattr(genericobject *g, char *name, PyObject *v)
    334334{
    335         int ret;
    336 
    337         if (v == NULL) {
    338                 PyErr_SetString(PyExc_TypeError,
    339                                 "can't delete forms object attributes");
    340                 return -1;
    341         }
    342 
    343         /* "label" is an exception: setmember doesn't set strings;
    344            and FORMS wants you to call a function to set the label */
    345         if (strcmp(name, "label") == 0) {
    346                 if (!PyString_Check(v)) {
    347                         PyErr_SetString(PyExc_TypeError,
    348                                         "label attr must be string");
    349                         return -1;
    350                 }
    351                 fl_set_object_label(g->ob_generic, PyString_AsString(v));
    352                 return 0;
    353         }
    354 
    355         ret = PyMember_Set((char *)g->ob_generic, generic_memberlist, name, v);
    356 
    357         /* Rather than calling all the various set_object_* functions,
    358            we call fl_redraw_object here.  This is sometimes redundant
    359            but I doubt that's a big problem */
    360         if (ret == 0)
    361                 fl_redraw_object(g->ob_generic);
    362 
    363         return ret;
     335    int ret;
     336
     337    if (v == NULL) {
     338        PyErr_SetString(PyExc_TypeError,
     339                        "can't delete forms object attributes");
     340        return -1;
     341    }
     342
     343    /* "label" is an exception: setmember doesn't set strings;
     344       and FORMS wants you to call a function to set the label */
     345    if (strcmp(name, "label") == 0) {
     346        if (!PyString_Check(v)) {
     347            PyErr_SetString(PyExc_TypeError,
     348                            "label attr must be string");
     349            return -1;
     350        }
     351        fl_set_object_label(g->ob_generic, PyString_AsString(v));
     352        return 0;
     353    }
     354
     355    ret = PyMember_Set((char *)g->ob_generic, generic_memberlist, name, v);
     356
     357    /* Rather than calling all the various set_object_* functions,
     358       we call fl_redraw_object here.  This is sometimes redundant
     359       but I doubt that's a big problem */
     360    if (ret == 0)
     361        fl_redraw_object(g->ob_generic);
     362
     363    return ret;
    364364}
    365365
     
    367367generic_repr(genericobject *g)
    368368{
    369         char buf[100];
    370         PyOS_snprintf(buf, sizeof(buf), "<FORMS_object at %p, objclass=%d>",
    371                       g, g->ob_generic->objclass);
    372         return PyString_FromString(buf);
     369    char buf[100];
     370    PyOS_snprintf(buf, sizeof(buf), "<FORMS_object at %p, objclass=%d>",
     371                  g, g->ob_generic->objclass);
     372    return PyString_FromString(buf);
    373373}
    374374
    375375static PyTypeObject GenericObjecttype = {
    376         PyObject_HEAD_INIT(&PyType_Type)
    377         0,                              /*ob_size*/
    378         "fl.FORMS_object",              /*tp_name*/
    379         sizeof(genericobject),          /*tp_size*/
    380         0,                              /*tp_itemsize*/
    381         /* methods */
    382         (destructor)generic_dealloc,    /*tp_dealloc*/
    383         0,                              /*tp_print*/
    384         (getattrfunc)generic_getattr,   /*tp_getattr*/
    385         (setattrfunc)generic_setattr,   /*tp_setattr*/
    386         0,                              /*tp_compare*/
    387         (reprfunc)generic_repr,         /*tp_repr*/
     376    PyObject_HEAD_INIT(&PyType_Type)
     377    0,                                  /*ob_size*/
     378    "fl.FORMS_object",                  /*tp_name*/
     379    sizeof(genericobject),              /*tp_size*/
     380    0,                                  /*tp_itemsize*/
     381    /* methods */
     382    (destructor)generic_dealloc,        /*tp_dealloc*/
     383    0,                                  /*tp_print*/
     384    (getattrfunc)generic_getattr,       /*tp_getattr*/
     385    (setattrfunc)generic_setattr,       /*tp_setattr*/
     386    0,                                  /*tp_compare*/
     387    (reprfunc)generic_repr,             /*tp_repr*/
    388388};
    389389
     
    391391newgenericobject(FL_OBJECT *generic, PyMethodDef *methods)
    392392{
    393         genericobject *g;
    394         g = PyObject_New(genericobject, &GenericObjecttype);
    395         if (g == NULL)
    396                 return NULL;
    397         g-> ob_generic = generic;
    398         g->ob_methods = methods;
    399         g->ob_callback = NULL;
    400         g->ob_callback_arg = NULL;
    401         knowgeneric(g);
    402         return (PyObject *)g;
     393    genericobject *g;
     394    g = PyObject_New(genericobject, &GenericObjecttype);
     395    if (g == NULL)
     396        return NULL;
     397    g-> ob_generic = generic;
     398    g->ob_methods = methods;
     399    g->ob_callback = NULL;
     400    g->ob_callback_arg = NULL;
     401    knowgeneric(g);
     402    return (PyObject *)g;
    403403}
    404404
     
    410410call_forms_INf (void (*func)(FL_OBJECT *, float), FL_OBJECT *obj, PyObject *args)
    411411{
    412         float parameter;
    413 
    414         if (!PyArg_Parse(args, "f", &parameter)) return NULL;
    415 
    416         (*func) (obj, parameter);
    417 
    418         Py_INCREF(Py_None);
    419         return Py_None;
     412    float parameter;
     413
     414    if (!PyArg_Parse(args, "f", &parameter)) return NULL;
     415
     416    (*func) (obj, parameter);
     417
     418    Py_INCREF(Py_None);
     419    return Py_None;
    420420}
    421421
     
    424424call_forms_INfINf (void (*func)(FL_OBJECT *, float, float), FL_OBJECT *obj, PyObject *args)
    425425{
    426         float par1, par2;
    427 
    428         if (!PyArg_Parse(args, "(ff)", &par1, &par2)) return NULL;
    429 
    430         (*func) (obj, par1, par2);
    431 
    432         Py_INCREF(Py_None);
    433         return Py_None;
     426    float par1, par2;
     427
     428    if (!PyArg_Parse(args, "(ff)", &par1, &par2)) return NULL;
     429
     430    (*func) (obj, par1, par2);
     431
     432    Py_INCREF(Py_None);
     433    return Py_None;
    434434}
    435435
     
    438438call_forms_INi (void (*func)(FL_OBJECT *, int), FL_OBJECT *obj, PyObject *args)
    439439{
    440         int parameter;
    441 
    442         if (!PyArg_Parse(args, "i", &parameter)) return NULL;
    443 
    444         (*func) (obj, parameter);
    445 
    446         Py_INCREF(Py_None);
    447         return Py_None;
     440    int parameter;
     441
     442    if (!PyArg_Parse(args, "i", &parameter)) return NULL;
     443
     444    (*func) (obj, parameter);
     445
     446    Py_INCREF(Py_None);
     447    return Py_None;
    448448}
    449449
     
    452452call_forms_INc (void (*func)(FL_OBJECT *, int), FL_OBJECT *obj, PyObject *args)
    453453{
    454         char *a;
    455 
    456         if (!PyArg_Parse(args, "s", &a)) return NULL;
    457 
    458         (*func) (obj, a[0]);
    459 
    460         Py_INCREF(Py_None);
    461         return Py_None;
     454    char *a;
     455
     456    if (!PyArg_Parse(args, "s", &a)) return NULL;
     457
     458    (*func) (obj, a[0]);
     459
     460    Py_INCREF(Py_None);
     461    return Py_None;
    462462}
    463463
     
    466466call_forms_INstr (void (*func)(FL_OBJECT *, char *), FL_OBJECT *obj, PyObject *args)
    467467{
    468         char *a;
    469 
    470         if (!PyArg_Parse(args, "s", &a)) return NULL;
    471 
    472         (*func) (obj, a);
    473 
    474         Py_INCREF(Py_None);
    475         return Py_None;
     468    char *a;
     469
     470    if (!PyArg_Parse(args, "s", &a)) return NULL;
     471
     472    (*func) (obj, a);
     473
     474    Py_INCREF(Py_None);
     475    return Py_None;
    476476}
    477477
     
    481481call_forms_INiINstr (void (*func)(FL_OBJECT *, int, char *), FL_OBJECT *obj, PyObject *args)
    482482{
    483         char *b;
    484         int a;
    485        
    486         if (!PyArg_Parse(args, "(is)", &a, &b)) return NULL;
    487        
    488         (*func) (obj, a, b);
    489        
    490         Py_INCREF(Py_None);
    491         return Py_None;
     483    char *b;
     484    int a;
     485
     486    if (!PyArg_Parse(args, "(is)", &a, &b)) return NULL;
     487
     488    (*func) (obj, a, b);
     489
     490    Py_INCREF(Py_None);
     491    return Py_None;
    492492}
    493493
     
    497497call_forms_INiINi (void (*func)(FL_OBJECT *, int, int), FL_OBJECT *obj, PyObject *args)
    498498{
    499         int par1, par2;
    500        
    501         if (!PyArg_Parse(args, "(ii)", &par1, &par2)) return NULL;
    502        
    503         (*func) (obj, par1, par2);
    504        
    505         Py_INCREF(Py_None);
    506         return Py_None;
     499    int par1, par2;
     500
     501    if (!PyArg_Parse(args, "(ii)", &par1, &par2)) return NULL;
     502
     503    (*func) (obj, par1, par2);
     504
     505    Py_INCREF(Py_None);
     506    return Py_None;
    507507}
    508508#endif
     
    512512call_forms_Ri (int (*func)(FL_OBJECT *), FL_OBJECT *obj)
    513513{
    514         int retval;
    515 
    516         retval = (*func) (obj);
    517 
    518         return PyInt_FromLong ((long) retval);
     514    int retval;
     515
     516    retval = (*func) (obj);
     517
     518    return PyInt_FromLong ((long) retval);
    519519}
    520520
     
    523523call_forms_Rstr (char * (*func)(FL_OBJECT *), FL_OBJECT *obj)
    524524{
    525         char *str;
    526 
    527         str = (*func) (obj);
    528 
    529         if (str == NULL) {
    530                 Py_INCREF(Py_None);
    531                 return Py_None;
    532         }
    533         return PyString_FromString (str);
     525    char *str;
     526
     527    str = (*func) (obj);
     528
     529    if (str == NULL) {
     530        Py_INCREF(Py_None);
     531        return Py_None;
     532    }
     533    return PyString_FromString (str);
    534534}
    535535
     
    538538call_forms_Rf (float (*func)(FL_OBJECT *), FL_OBJECT *obj)
    539539{
    540         float retval;
    541 
    542         retval = (*func) (obj);
    543 
    544         return PyFloat_FromDouble (retval);
     540    float retval;
     541
     542    retval = (*func) (obj);
     543
     544    return PyFloat_FromDouble (retval);
    545545}
    546546
     
    548548call_forms_OUTfOUTf (void (*func)(FL_OBJECT *, float *, float *), FL_OBJECT *obj)
    549549{
    550         float f1, f2;
    551 
    552         (*func) (obj, &f1, &f2);
    553 
    554         return Py_BuildValue("(ff)", f1, f2);
     550    float f1, f2;
     551
     552    (*func) (obj, &f1, &f2);
     553
     554    return Py_BuildValue("(ff)", f1, f2);
    555555}
    556556
     
    559559call_forms_OUTf (void (*func)(FL_OBJECT *, float *), FL_OBJECT *obj)
    560560{
    561         float f;
    562 
    563         (*func) (obj, &f);
    564 
    565         return PyFloat_FromDouble (f);
     561    float f;
     562
     563    (*func) (obj, &f);
     564
     565    return PyFloat_FromDouble (f);
    566566}
    567567#endif
     
    573573set_browser_topline(genericobject *g, PyObject *args)
    574574{
    575         return call_forms_INi (fl_set_browser_topline, g-> ob_generic, args);
     575    return call_forms_INi (fl_set_browser_topline, g-> ob_generic, args);
    576576}
    577577
     
    579579clear_browser(genericobject *g)
    580580{
    581         return generic_call (g, fl_clear_browser);
     581    return generic_call (g, fl_clear_browser);
    582582}
    583583
     
    585585add_browser_line (genericobject *g, PyObject *args)
    586586{
    587         return call_forms_INstr (fl_add_browser_line, g-> ob_generic, args);
     587    return call_forms_INstr (fl_add_browser_line, g-> ob_generic, args);
    588588}
    589589
     
    591591addto_browser (genericobject *g, PyObject *args)
    592592{
    593         return call_forms_INstr (fl_addto_browser, g-> ob_generic, args);
     593    return call_forms_INstr (fl_addto_browser, g-> ob_generic, args);
    594594}
    595595
     
    597597insert_browser_line (genericobject *g, PyObject *args)
    598598{
    599         return call_forms_INiINstr (fl_insert_browser_line,
    600                                     g-> ob_generic, args);
     599    return call_forms_INiINstr (fl_insert_browser_line,
     600                                g-> ob_generic, args);
    601601}
    602602
     
    604604delete_browser_line (genericobject *g, PyObject *args)
    605605{
    606         return call_forms_INi (fl_delete_browser_line, g-> ob_generic, args);
     606    return call_forms_INi (fl_delete_browser_line, g-> ob_generic, args);
    607607}
    608608
     
    610610replace_browser_line (genericobject *g, PyObject *args)
    611611{
    612         return call_forms_INiINstr (fl_replace_browser_line,
    613                                     g-> ob_generic, args);
     612    return call_forms_INiINstr (fl_replace_browser_line,
     613                                g-> ob_generic, args);
    614614}
    615615
     
    617617get_browser_line(genericobject *g, PyObject *args)
    618618{
    619         int i;
    620         char *str;
    621 
    622         if (!PyArg_Parse(args, "i", &i))
    623                 return NULL;
    624 
    625         str = fl_get_browser_line (g->ob_generic, i);
    626 
    627         if (str == NULL) {
    628                 Py_INCREF(Py_None);
    629                 return Py_None;
    630         }
    631         return PyString_FromString (str);
     619    int i;
     620    char *str;
     621
     622    if (!PyArg_Parse(args, "i", &i))
     623        return NULL;
     624
     625    str = fl_get_browser_line (g->ob_generic, i);
     626
     627    if (str == NULL) {
     628        Py_INCREF(Py_None);
     629        return Py_None;
     630    }
     631    return PyString_FromString (str);
    632632}
    633633
     
    635635load_browser (genericobject *g, PyObject *args)
    636636{
    637         /* XXX strictly speaking this is wrong since fl_load_browser
    638            XXX returns int, not void */
    639         return call_forms_INstr (fl_load_browser, g-> ob_generic, args);
     637    /* XXX strictly speaking this is wrong since fl_load_browser
     638       XXX returns int, not void */
     639    return call_forms_INstr (fl_load_browser, g-> ob_generic, args);
    640640}
    641641
     
    643643get_browser_maxline(genericobject *g)
    644644{
    645         return call_forms_Ri (fl_get_browser_maxline, g-> ob_generic);
     645    return call_forms_Ri (fl_get_browser_maxline, g-> ob_generic);
    646646}
    647647
     
    649649select_browser_line (genericobject *g, PyObject *args)
    650650{
    651         return call_forms_INi (fl_select_browser_line, g-> ob_generic, args);
     651    return call_forms_INi (fl_select_browser_line, g-> ob_generic, args);
    652652}
    653653
     
    655655deselect_browser_line (genericobject *g, PyObject *args)
    656656{
    657         return call_forms_INi (fl_deselect_browser_line, g-> ob_generic, args);
     657    return call_forms_INi (fl_deselect_browser_line, g-> ob_generic, args);
    658658}
    659659
     
    661661deselect_browser (genericobject *g)
    662662{
    663         return generic_call (g, fl_deselect_browser);
     663    return generic_call (g, fl_deselect_browser);
    664664}
    665665
     
    667667isselected_browser_line (genericobject *g, PyObject *args)
    668668{
    669         int i, j;
    670        
    671         if (!PyArg_Parse(args, "i", &i))
    672                 return NULL;
    673        
    674         j = fl_isselected_browser_line (g->ob_generic, i);
    675        
    676         return PyInt_FromLong (j);
     669    int i, j;
     670
     671    if (!PyArg_Parse(args, "i", &i))
     672        return NULL;
     673
     674    j = fl_isselected_browser_line (g->ob_generic, i);
     675
     676    return PyInt_FromLong (j);
    677677}
    678678
     
    680680get_browser (genericobject *g)
    681681{
    682         return call_forms_Ri (fl_get_browser, g-> ob_generic);
     682    return call_forms_Ri (fl_get_browser, g-> ob_generic);
    683683}
    684684
     
    686686set_browser_fontsize (genericobject *g, PyObject *args)
    687687{
    688         return call_forms_INf (fl_set_browser_fontsize, g-> ob_generic, args);
     688    return call_forms_INf (fl_set_browser_fontsize, g-> ob_generic, args);
    689689}
    690690
     
    692692set_browser_fontstyle (genericobject *g, PyObject *args)
    693693{
    694         return call_forms_INi (fl_set_browser_fontstyle, g-> ob_generic, args);
     694    return call_forms_INi (fl_set_browser_fontstyle, g-> ob_generic, args);
    695695}
    696696
     
    698698set_browser_specialkey (genericobject *g, PyObject *args)
    699699{
    700         return call_forms_INc(fl_set_browser_specialkey, g-> ob_generic, args);
     700    return call_forms_INc(fl_set_browser_specialkey, g-> ob_generic, args);
    701701}
    702702
    703703static PyMethodDef browser_methods[] = {
    704         {"set_browser_topline",         (PyCFunction)set_browser_topline,
    705         METH_OLDARGS},
    706         {"clear_browser",               (PyCFunction)clear_browser,
    707         METH_NOARGS},
    708         {"add_browser_line",            (PyCFunction)add_browser_line,
    709         METH_OLDARGS},
    710         {"addto_browser",               (PyCFunction)addto_browser,
    711         METH_OLDARGS},
    712         {"insert_browser_line",         (PyCFunction)insert_browser_line,
    713         METH_OLDARGS},
    714         {"delete_browser_line",         (PyCFunction)delete_browser_line,
    715         METH_OLDARGS},
    716         {"replace_browser_line",        (PyCFunction)replace_browser_line,
    717         METH_OLDARGS},
    718         {"get_browser_line",            (PyCFunction)get_browser_line,
    719         METH_OLDARGS},
    720         {"load_browser",                (PyCFunction)load_browser,
    721         METH_OLDARGS},
    722         {"get_browser_maxline",         (PyCFunction)get_browser_maxline,
    723         METH_NOARGS,}
    724         {"select_browser_line",         (PyCFunction)select_browser_line,
    725         METH_OLDARGS},
    726         {"deselect_browser_line",       (PyCFunction)deselect_browser_line,
    727         METH_OLDARGS},
    728         {"deselect_browser",            (PyCFunction)deselect_browser,
    729         METH_NOARGS,}
    730         {"isselected_browser_line",     (PyCFunction)isselected_browser_line,
    731         METH_OLDARGS},
    732         {"get_browser",                 (PyCFunction)get_browser,
    733         METH_NOARGS,}
    734         {"set_browser_fontsize",        (PyCFunction)set_browser_fontsize,
    735         METH_OLDARGS},
    736         {"set_browser_fontstyle",       (PyCFunction)set_browser_fontstyle,
    737         METH_OLDARGS},
    738         {"set_browser_specialkey",      (PyCFunction)set_browser_specialkey,
    739         METH_OLDARGS},
    740         {NULL,                          NULL}           /* sentinel */
     704    {"set_browser_topline",             (PyCFunction)set_browser_topline,
     705    METH_OLDARGS},
     706    {"clear_browser",                   (PyCFunction)clear_browser,
     707    METH_NOARGS},
     708    {"add_browser_line",                (PyCFunction)add_browser_line,
     709    METH_OLDARGS},
     710    {"addto_browser",                   (PyCFunction)addto_browser,
     711    METH_OLDARGS},
     712    {"insert_browser_line",             (PyCFunction)insert_browser_line,
     713    METH_OLDARGS},
     714    {"delete_browser_line",             (PyCFunction)delete_browser_line,
     715    METH_OLDARGS},
     716    {"replace_browser_line",            (PyCFunction)replace_browser_line,
     717    METH_OLDARGS},
     718    {"get_browser_line",                (PyCFunction)get_browser_line,
     719    METH_OLDARGS},
     720    {"load_browser",                    (PyCFunction)load_browser,
     721    METH_OLDARGS},
     722    {"get_browser_maxline",             (PyCFunction)get_browser_maxline,
     723    METH_NOARGS,}
     724    {"select_browser_line",             (PyCFunction)select_browser_line,
     725    METH_OLDARGS},
     726    {"deselect_browser_line",           (PyCFunction)deselect_browser_line,
     727    METH_OLDARGS},
     728    {"deselect_browser",                (PyCFunction)deselect_browser,
     729    METH_NOARGS,}
     730    {"isselected_browser_line",         (PyCFunction)isselected_browser_line,
     731    METH_OLDARGS},
     732    {"get_browser",                     (PyCFunction)get_browser,
     733    METH_NOARGS,}
     734    {"set_browser_fontsize",            (PyCFunction)set_browser_fontsize,
     735    METH_OLDARGS},
     736    {"set_browser_fontstyle",           (PyCFunction)set_browser_fontstyle,
     737    METH_OLDARGS},
     738    {"set_browser_specialkey",          (PyCFunction)set_browser_specialkey,
     739    METH_OLDARGS},
     740    {NULL,                              NULL}           /* sentinel */
    741741};
    742742
     
    746746set_button(genericobject *g, PyObject *args)
    747747{
    748         return call_forms_INi (fl_set_button, g-> ob_generic, args);
     748    return call_forms_INi (fl_set_button, g-> ob_generic, args);
    749749}
    750750
     
    752752get_button(genericobject *g)
    753753{
    754         return call_forms_Ri (fl_get_button, g-> ob_generic);
     754    return call_forms_Ri (fl_get_button, g-> ob_generic);
    755755}
    756756
     
    758758get_button_numb(genericobject *g)
    759759{
    760         return call_forms_Ri (fl_get_button_numb, g-> ob_generic);
     760    return call_forms_Ri (fl_get_button_numb, g-> ob_generic);
    761761}
    762762
     
    764764set_button_shortcut(genericobject *g, PyObject *args)
    765765{
    766         return call_forms_INstr (fl_set_button_shortcut, g-> ob_generic, args);
     766    return call_forms_INstr (fl_set_button_shortcut, g-> ob_generic, args);
    767767}
    768768
    769769static PyMethodDef button_methods[] = {
    770         {"set_button",          (PyCFunction)set_button, METH_OLDARGS},
    771         {"get_button",          (PyCFunction)get_button, METH_NOARGS},
    772         {"get_button_numb",     (PyCFunction)get_button_numb, METH_NOARGS},
    773         {"set_button_shortcut", (PyCFunction)set_button_shortcut, METH_OLDARGS},
    774         {NULL,                  NULL}           /* sentinel */
     770    {"set_button",              (PyCFunction)set_button, METH_OLDARGS},
     771    {"get_button",              (PyCFunction)get_button, METH_NOARGS},
     772    {"get_button_numb",         (PyCFunction)get_button_numb, METH_NOARGS},
     773    {"set_button_shortcut",     (PyCFunction)set_button_shortcut, METH_OLDARGS},
     774    {NULL,                      NULL}           /* sentinel */
    775775};
    776776
     
    780780set_choice(genericobject *g, PyObject *args)
    781781{
    782         return call_forms_INi (fl_set_choice, g-> ob_generic, args);
     782    return call_forms_INi (fl_set_choice, g-> ob_generic, args);
    783783}
    784784
     
    786786get_choice(genericobject *g)
    787787{
    788         return call_forms_Ri (fl_get_choice, g-> ob_generic);
     788    return call_forms_Ri (fl_get_choice, g-> ob_generic);
    789789}
    790790
     
    792792clear_choice (genericobject *g)
    793793{
    794         return generic_call (g, fl_clear_choice);
     794    return generic_call (g, fl_clear_choice);
    795795}
    796796
     
    798798addto_choice (genericobject *g, PyObject *args)
    799799{
    800         return call_forms_INstr (fl_addto_choice, g-> ob_generic, args);
     800    return call_forms_INstr (fl_addto_choice, g-> ob_generic, args);
    801801}
    802802
     
    804804replace_choice (genericobject *g, PyObject *args)
    805805{
    806         return call_forms_INiINstr (fl_replace_choice, g-> ob_generic, args);
     806    return call_forms_INiINstr (fl_replace_choice, g-> ob_generic, args);
    807807}
    808808
     
    810810delete_choice (genericobject *g, PyObject *args)
    811811{
    812         return call_forms_INi (fl_delete_choice, g-> ob_generic, args);
     812    return call_forms_INi (fl_delete_choice, g-> ob_generic, args);
    813813}
    814814
     
    816816get_choice_text (genericobject *g)
    817817{
    818         return call_forms_Rstr (fl_get_choice_text, g-> ob_generic);
     818    return call_forms_Rstr (fl_get_choice_text, g-> ob_generic);
    819819}
    820820
     
    822822set_choice_fontsize (genericobject *g, PyObject *args)
    823823{
    824         return call_forms_INf (fl_set_choice_fontsize, g-> ob_generic, args);
     824    return call_forms_INf (fl_set_choice_fontsize, g-> ob_generic, args);
    825825}
    826826
     
    828828set_choice_fontstyle (genericobject *g, PyObject *args)
    829829{
    830         return call_forms_INi (fl_set_choice_fontstyle, g-> ob_generic, args);
     830    return call_forms_INi (fl_set_choice_fontstyle, g-> ob_generic, args);
    831831}
    832832
    833833static PyMethodDef choice_methods[] = {
    834         {"set_choice",          (PyCFunction)set_choice,      METH_OLDARGS},
    835         {"get_choice",          (PyCFunction)get_choice,      METH_NOARGS},
    836         {"clear_choice",        (PyCFunction)clear_choice,    METH_NOARGS},
    837         {"addto_choice",        (PyCFunction)addto_choice,    METH_OLDARGS},
    838         {"replace_choice",      (PyCFunction)replace_choice,  METH_OLDARGS},
    839         {"delete_choice",       (PyCFunction)delete_choice,   METH_OLDARGS},
    840         {"get_choice_text",     (PyCFunction)get_choice_text, METH_NOARGS},
    841         {"set_choice_fontsize", (PyCFunction)set_choice_fontsize, METH_OLDARGS},
    842         {"set_choice_fontstyle",(PyCFunction)set_choice_fontstyle, METH_OLDARGS},
    843         {NULL,                  NULL}           /* sentinel */
     834    {"set_choice",              (PyCFunction)set_choice,      METH_OLDARGS},
     835    {"get_choice",              (PyCFunction)get_choice,      METH_NOARGS},
     836    {"clear_choice",            (PyCFunction)clear_choice,    METH_NOARGS},
     837    {"addto_choice",            (PyCFunction)addto_choice,    METH_OLDARGS},
     838    {"replace_choice",          (PyCFunction)replace_choice,  METH_OLDARGS},
     839    {"delete_choice",           (PyCFunction)delete_choice,   METH_OLDARGS},
     840    {"get_choice_text",         (PyCFunction)get_choice_text, METH_NOARGS},
     841    {"set_choice_fontsize", (PyCFunction)set_choice_fontsize, METH_OLDARGS},
     842    {"set_choice_fontstyle",(PyCFunction)set_choice_fontstyle, METH_OLDARGS},
     843    {NULL,                      NULL}           /* sentinel */
    844844};
    845845
     
    849849get_clock(genericobject *g)
    850850{
    851         int i0, i1, i2;
    852 
    853         fl_get_clock (g->ob_generic, &i0, &i1, &i2);
    854 
    855         return Py_BuildValue("(iii)", i0, i1, i2);
     851    int i0, i1, i2;
     852
     853    fl_get_clock (g->ob_generic, &i0, &i1, &i2);
     854
     855    return Py_BuildValue("(iii)", i0, i1, i2);
    856856}
    857857
    858858static PyMethodDef clock_methods[] = {
    859         {"get_clock",           (PyCFunction)get_clock, METH_NOARGS},
    860         {NULL,                  NULL}           /* sentinel */
     859    {"get_clock",               (PyCFunction)get_clock, METH_NOARGS},
     860    {NULL,                      NULL}           /* sentinel */
    861861};
    862862
     
    866866get_counter_value(genericobject *g)
    867867{
    868         return call_forms_Rf (fl_get_counter_value, g-> ob_generic);
     868    return call_forms_Rf (fl_get_counter_value, g-> ob_generic);
    869869}
    870870
     
    872872set_counter_value (genericobject *g, PyObject *args)
    873873{
    874         return call_forms_INf (fl_set_counter_value, g-> ob_generic, args);
     874    return call_forms_INf (fl_set_counter_value, g-> ob_generic, args);
    875875}
    876876
     
    878878set_counter_precision (genericobject *g, PyObject *args)
    879879{
    880         return call_forms_INi (fl_set_counter_precision, g-> ob_generic, args);
     880    return call_forms_INi (fl_set_counter_precision, g-> ob_generic, args);
    881881}
    882882
     
    884884set_counter_bounds (genericobject *g, PyObject *args)
    885885{
    886         return call_forms_INfINf (fl_set_counter_bounds, g-> ob_generic, args);
     886    return call_forms_INfINf (fl_set_counter_bounds, g-> ob_generic, args);
    887887}
    888888
     
    890890set_counter_step (genericobject *g, PyObject *args)
    891891{
    892         return call_forms_INfINf (fl_set_counter_step, g-> ob_generic, args);
     892    return call_forms_INfINf (fl_set_counter_step, g-> ob_generic, args);
    893893}
    894894
     
    896896set_counter_return (genericobject *g, PyObject *args)
    897897{
    898         return call_forms_INi (fl_set_counter_return, g-> ob_generic, args);
     898    return call_forms_INi (fl_set_counter_return, g-> ob_generic, args);
    899899}
    900900
    901901static PyMethodDef counter_methods[] = {
    902         {"set_counter_value",           (PyCFunction)set_counter_value,
    903         METH_OLDARGS},
    904         {"get_counter_value",           (PyCFunction)get_counter_value,
    905         METH_NOARGS},
    906         {"set_counter_bounds",          (PyCFunction)set_counter_bounds,
    907         METH_OLDARGS},
    908         {"set_counter_step",            (PyCFunction)set_counter_step,
    909         METH_OLDARGS},
    910         {"set_counter_precision",       (PyCFunction)set_counter_precision,
    911         METH_OLDARGS},
    912         {"set_counter_return",          (PyCFunction)set_counter_return,
    913         METH_OLDARGS},
    914         {NULL,                          NULL}           /* sentinel */
     902    {"set_counter_value",               (PyCFunction)set_counter_value,
     903    METH_OLDARGS},
     904    {"get_counter_value",               (PyCFunction)get_counter_value,
     905    METH_NOARGS},
     906    {"set_counter_bounds",              (PyCFunction)set_counter_bounds,
     907    METH_OLDARGS},
     908    {"set_counter_step",                (PyCFunction)set_counter_step,
     909    METH_OLDARGS},
     910    {"set_counter_precision",           (PyCFunction)set_counter_precision,
     911    METH_OLDARGS},
     912    {"set_counter_return",              (PyCFunction)set_counter_return,
     913    METH_OLDARGS},
     914    {NULL,                              NULL}           /* sentinel */
    915915};
    916916
     
    921921get_dial_value(genericobject *g)
    922922{
    923         return call_forms_Rf (fl_get_dial_value, g-> ob_generic);
     923    return call_forms_Rf (fl_get_dial_value, g-> ob_generic);
    924924}
    925925
     
    927927set_dial_value (genericobject *g, PyObject *args)
    928928{
    929         return call_forms_INf (fl_set_dial_value, g-> ob_generic, args);
     929    return call_forms_INf (fl_set_dial_value, g-> ob_generic, args);
    930930}
    931931
     
    933933set_dial_bounds (genericobject *g, PyObject *args)
    934934{
    935         return call_forms_INfINf (fl_set_dial_bounds, g-> ob_generic, args);
     935    return call_forms_INfINf (fl_set_dial_bounds, g-> ob_generic, args);
    936936}
    937937
     
    939939get_dial_bounds (genericobject *g)
    940940{
    941         return call_forms_OUTfOUTf (fl_get_dial_bounds, g-> ob_generic);
     941    return call_forms_OUTfOUTf (fl_get_dial_bounds, g-> ob_generic);
    942942}
    943943
     
    945945set_dial_step (genericobject *g, PyObject *args)
    946946{
    947         return call_forms_INf (fl_set_dial_step, g-> ob_generic, args);
     947    return call_forms_INf (fl_set_dial_step, g-> ob_generic, args);
    948948}
    949949
    950950static PyMethodDef dial_methods[] = {
    951         {"set_dial_value",      (PyCFunction)set_dial_value,  METH_OLDARGS},
    952         {"get_dial_value",      (PyCFunction)get_dial_value,  METH_NOARGS},
    953         {"set_dial_bounds",     (PyCFunction)set_dial_bounds, METH_OLDARGS},
    954         {"get_dial_bounds",     (PyCFunction)get_dial_bounds, METH_NOARGS},
    955         {"set_dial_step",       (PyCFunction)set_dial_step,   METH_OLDARGS},
    956         {NULL,                  NULL}           /* sentinel */
     951    {"set_dial_value",          (PyCFunction)set_dial_value,  METH_OLDARGS},
     952    {"get_dial_value",          (PyCFunction)get_dial_value,  METH_NOARGS},
     953    {"set_dial_bounds",         (PyCFunction)set_dial_bounds, METH_OLDARGS},
     954    {"get_dial_bounds",         (PyCFunction)get_dial_bounds, METH_NOARGS},
     955    {"set_dial_step",           (PyCFunction)set_dial_step,   METH_OLDARGS},
     956    {NULL,                      NULL}           /* sentinel */
    957957};
    958958
     
    962962set_input (genericobject *g, PyObject *args)
    963963{
    964         return call_forms_INstr (fl_set_input, g-> ob_generic, args);
     964    return call_forms_INstr (fl_set_input, g-> ob_generic, args);
    965965}
    966966
     
    968968get_input (genericobject *g)
    969969{
    970         return call_forms_Rstr (fl_get_input, g-> ob_generic);
     970    return call_forms_Rstr (fl_get_input, g-> ob_generic);
    971971}
    972972
     
    974974set_input_color (genericobject *g, PyObject *args)
    975975{
    976         return call_forms_INfINf (fl_set_input_color, g-> ob_generic, args);
     976    return call_forms_INfINf (fl_set_input_color, g-> ob_generic, args);
    977977}
    978978
     
    980980set_input_return (genericobject *g, PyObject *args)
    981981{
    982         return call_forms_INi (fl_set_input_return, g-> ob_generic, args);
     982    return call_forms_INi (fl_set_input_return, g-> ob_generic, args);
    983983}
    984984
    985985static PyMethodDef input_methods[] = {
    986         {"set_input",           (PyCFunction)set_input,        METH_OLDARGS},
    987         {"get_input",           (PyCFunction)get_input,        METH_NOARGS},
    988         {"set_input_color",     (PyCFunction)set_input_color,  METH_OLDARGS},
    989         {"set_input_return",    (PyCFunction)set_input_return, METH_OLDARGS},
    990         {NULL,                  NULL}           /* sentinel */
     986    {"set_input",               (PyCFunction)set_input,        METH_OLDARGS},
     987    {"get_input",               (PyCFunction)get_input,        METH_NOARGS},
     988    {"set_input_color",         (PyCFunction)set_input_color,  METH_OLDARGS},
     989    {"set_input_return",        (PyCFunction)set_input_return, METH_OLDARGS},
     990    {NULL,                      NULL}           /* sentinel */
    991991};
    992992
     
    997997set_menu (genericobject *g, PyObject *args)
    998998{
    999         return call_forms_INstr (fl_set_menu, g-> ob_generic, args);
     999    return call_forms_INstr (fl_set_menu, g-> ob_generic, args);
    10001000}
    10011001
     
    10031003get_menu (genericobject *g)
    10041004{
    1005         /* XXX strictly speaking this is wrong since fl_get_menu
    1006            XXX returns long, not int */
    1007         return call_forms_Ri (fl_get_menu, g-> ob_generic);
     1005    /* XXX strictly speaking this is wrong since fl_get_menu
     1006       XXX returns long, not int */
     1007    return call_forms_Ri (fl_get_menu, g-> ob_generic);
    10081008}
    10091009
     
    10111011get_menu_text (genericobject *g)
    10121012{
    1013         return call_forms_Rstr (fl_get_menu_text, g-> ob_generic);
     1013    return call_forms_Rstr (fl_get_menu_text, g-> ob_generic);
    10141014}
    10151015
     
    10171017addto_menu (genericobject *g, PyObject *args)
    10181018{
    1019         return call_forms_INstr (fl_addto_menu, g-> ob_generic, args);
     1019    return call_forms_INstr (fl_addto_menu, g-> ob_generic, args);
    10201020}
    10211021
    10221022static PyMethodDef menu_methods[] = {
    1023         {"set_menu",            (PyCFunction)set_menu,      METH_OLDARGS},
    1024         {"get_menu",            (PyCFunction)get_menu,      METH_NOARGS},
    1025         {"get_menu_text",       (PyCFunction)get_menu_text, METH_NOARGS},
    1026         {"addto_menu",          (PyCFunction)addto_menu,    METH_OLDARGS},
    1027         {NULL,                  NULL}           /* sentinel */
     1023    {"set_menu",                (PyCFunction)set_menu,      METH_OLDARGS},
     1024    {"get_menu",                (PyCFunction)get_menu,      METH_NOARGS},
     1025    {"get_menu_text",           (PyCFunction)get_menu_text, METH_NOARGS},
     1026    {"addto_menu",              (PyCFunction)addto_menu,    METH_OLDARGS},
     1027    {NULL,                      NULL}           /* sentinel */
    10281028};
    10291029
     
    10341034get_slider_value(genericobject *g)
    10351035{
    1036         return call_forms_Rf (fl_get_slider_value, g-> ob_generic);
     1036    return call_forms_Rf (fl_get_slider_value, g-> ob_generic);
    10371037}
    10381038
     
    10401040set_slider_value (genericobject *g, PyObject *args)
    10411041{
    1042         return call_forms_INf (fl_set_slider_value, g-> ob_generic, args);
     1042    return call_forms_INf (fl_set_slider_value, g-> ob_generic, args);
    10431043}
    10441044
     
    10461046set_slider_bounds (genericobject *g, PyObject *args)
    10471047{
    1048         return call_forms_INfINf (fl_set_slider_bounds, g-> ob_generic, args);
     1048    return call_forms_INfINf (fl_set_slider_bounds, g-> ob_generic, args);
    10491049}
    10501050
     
    10521052get_slider_bounds (genericobject *g)
    10531053{
    1054         return call_forms_OUTfOUTf(fl_get_slider_bounds, g-> ob_generic);
     1054    return call_forms_OUTfOUTf(fl_get_slider_bounds, g-> ob_generic);
    10551055}
    10561056
     
    10581058set_slider_return (genericobject *g, PyObject *args)
    10591059{
    1060         return call_forms_INf (fl_set_slider_return, g-> ob_generic, args);
     1060    return call_forms_INf (fl_set_slider_return, g-> ob_generic, args);
    10611061}
    10621062
     
    10641064set_slider_size (genericobject *g, PyObject *args)
    10651065{
    1066         return call_forms_INf (fl_set_slider_size, g-> ob_generic, args);
     1066    return call_forms_INf (fl_set_slider_size, g-> ob_generic, args);
    10671067}
    10681068
     
    10701070set_slider_precision (genericobject *g, PyObject *args)
    10711071{
    1072         return call_forms_INi (fl_set_slider_precision, g-> ob_generic, args);
     1072    return call_forms_INi (fl_set_slider_precision, g-> ob_generic, args);
    10731073}
    10741074
     
    10761076set_slider_step (genericobject *g, PyObject *args)
    10771077{
    1078         return call_forms_INf (fl_set_slider_step, g-> ob_generic, args);
     1078    return call_forms_INf (fl_set_slider_step, g-> ob_generic, args);
    10791079}
    10801080
    10811081
    10821082static PyMethodDef slider_methods[] = {
    1083         {"set_slider_value",    (PyCFunction)set_slider_value,  METH_OLDARGS},
    1084         {"get_slider_value",    (PyCFunction)get_slider_value,  METH_NOARGS},
    1085         {"set_slider_bounds",   (PyCFunction)set_slider_bounds, METH_OLDARGS},
    1086         {"get_slider_bounds",   (PyCFunction)get_slider_bounds, METH_NOARGS},
    1087         {"set_slider_return",   (PyCFunction)set_slider_return, METH_OLDARGS},
    1088         {"set_slider_size",     (PyCFunction)set_slider_size,   METH_OLDARGS},
    1089         {"set_slider_precision",(PyCFunction)set_slider_precision, METH_OLDARGS},
    1090         {"set_slider_step",     (PyCFunction)set_slider_step,   METH_OLDARGS},
    1091         {NULL,                  NULL}           /* sentinel */
     1083    {"set_slider_value",        (PyCFunction)set_slider_value,  METH_OLDARGS},
     1084    {"get_slider_value",        (PyCFunction)get_slider_value,  METH_NOARGS},
     1085    {"set_slider_bounds",       (PyCFunction)set_slider_bounds, METH_OLDARGS},
     1086    {"get_slider_bounds",       (PyCFunction)get_slider_bounds, METH_NOARGS},
     1087    {"set_slider_return",       (PyCFunction)set_slider_return, METH_OLDARGS},
     1088    {"set_slider_size",         (PyCFunction)set_slider_size,   METH_OLDARGS},
     1089    {"set_slider_precision",(PyCFunction)set_slider_precision, METH_OLDARGS},
     1090    {"set_slider_step",         (PyCFunction)set_slider_step,   METH_OLDARGS},
     1091    {NULL,                      NULL}           /* sentinel */
    10921092};
    10931093
     
    10951095set_positioner_xvalue (genericobject *g, PyObject *args)
    10961096{
    1097         return call_forms_INf (fl_set_positioner_xvalue, g-> ob_generic, args);
     1097    return call_forms_INf (fl_set_positioner_xvalue, g-> ob_generic, args);
    10981098}
    10991099
     
    11011101set_positioner_xbounds (genericobject *g, PyObject *args)
    11021102{
    1103         return call_forms_INfINf (fl_set_positioner_xbounds,
    1104                                   g-> ob_generic, args);
     1103    return call_forms_INfINf (fl_set_positioner_xbounds,
     1104                              g-> ob_generic, args);
    11051105}
    11061106
     
    11081108set_positioner_yvalue (genericobject *g, PyObject *args)
    11091109{
    1110         return call_forms_INf (fl_set_positioner_yvalue, g-> ob_generic, args);
     1110    return call_forms_INf (fl_set_positioner_yvalue, g-> ob_generic, args);
    11111111}
    11121112
     
    11141114set_positioner_ybounds (genericobject *g, PyObject *args)
    11151115{
    1116         return call_forms_INfINf (fl_set_positioner_ybounds,
    1117                                   g-> ob_generic, args);
     1116    return call_forms_INfINf (fl_set_positioner_ybounds,
     1117                              g-> ob_generic, args);
    11181118}
    11191119
     
    11211121get_positioner_xvalue (genericobject *g)
    11221122{
    1123         return call_forms_Rf (fl_get_positioner_xvalue, g-> ob_generic);
     1123    return call_forms_Rf (fl_get_positioner_xvalue, g-> ob_generic);
    11241124}
    11251125
     
    11271127get_positioner_xbounds (genericobject *g)
    11281128{
    1129         return call_forms_OUTfOUTf (fl_get_positioner_xbounds, g-> ob_generic);
     1129    return call_forms_OUTfOUTf (fl_get_positioner_xbounds, g-> ob_generic);
    11301130}
    11311131
     
    11331133get_positioner_yvalue (genericobject *g)
    11341134{
    1135         return call_forms_Rf (fl_get_positioner_yvalue, g-> ob_generic);
     1135    return call_forms_Rf (fl_get_positioner_yvalue, g-> ob_generic);
    11361136}
    11371137
     
    11391139get_positioner_ybounds (genericobject *g)
    11401140{
    1141         return call_forms_OUTfOUTf (fl_get_positioner_ybounds, g-> ob_generic);
     1141    return call_forms_OUTfOUTf (fl_get_positioner_ybounds, g-> ob_generic);
    11421142}
    11431143
    11441144static PyMethodDef positioner_methods[] = {
    1145         {"set_positioner_xvalue",       (PyCFunction)set_positioner_xvalue,
    1146         METH_OLDARGS},
    1147         {"set_positioner_yvalue",       (PyCFunction)set_positioner_yvalue,
    1148         METH_OLDARGS},
    1149         {"set_positioner_xbounds",      (PyCFunction)set_positioner_xbounds,
    1150         METH_OLDARGS},
    1151         {"set_positioner_ybounds",      (PyCFunction)set_positioner_ybounds,
    1152         METH_OLDARGS},
    1153         {"get_positioner_xvalue",       (PyCFunction)get_positioner_xvalue,
    1154         METH_NOARGS},
    1155         {"get_positioner_yvalue",       (PyCFunction)get_positioner_yvalue,
    1156         METH_NOARGS},
    1157         {"get_positioner_xbounds",      (PyCFunction)get_positioner_xbounds,
    1158         METH_NOARGS},
    1159         {"get_positioner_ybounds",      (PyCFunction)get_positioner_ybounds,
    1160         METH_NOARGS},
    1161         {NULL,                  NULL}           /* sentinel */
     1145    {"set_positioner_xvalue",           (PyCFunction)set_positioner_xvalue,
     1146    METH_OLDARGS},
     1147    {"set_positioner_yvalue",           (PyCFunction)set_positioner_yvalue,
     1148    METH_OLDARGS},
     1149    {"set_positioner_xbounds",          (PyCFunction)set_positioner_xbounds,
     1150    METH_OLDARGS},
     1151    {"set_positioner_ybounds",          (PyCFunction)set_positioner_ybounds,
     1152    METH_OLDARGS},
     1153    {"get_positioner_xvalue",           (PyCFunction)get_positioner_xvalue,
     1154    METH_NOARGS},
     1155    {"get_positioner_yvalue",           (PyCFunction)get_positioner_yvalue,
     1156    METH_NOARGS},
     1157    {"get_positioner_xbounds",          (PyCFunction)get_positioner_xbounds,
     1158    METH_NOARGS},
     1159    {"get_positioner_ybounds",          (PyCFunction)get_positioner_ybounds,
     1160    METH_NOARGS},
     1161    {NULL,                      NULL}           /* sentinel */
    11621162};
    11631163
     
    11671167set_timer (genericobject *g, PyObject *args)
    11681168{
    1169         return call_forms_INf (fl_set_timer, g-> ob_generic, args);
     1169    return call_forms_INf (fl_set_timer, g-> ob_generic, args);
    11701170}
    11711171
     
    11731173get_timer (genericobject *g)
    11741174{
    1175         return call_forms_Rf (fl_get_timer, g-> ob_generic);
     1175    return call_forms_Rf (fl_get_timer, g-> ob_generic);
    11761176}
    11771177
    11781178static PyMethodDef timer_methods[] = {
    1179         {"set_timer",           (PyCFunction)set_timer, METH_OLDARGS},
    1180         {"get_timer",           (PyCFunction)get_timer, METH_NOARGS},
    1181         {NULL,                  NULL}           /* sentinel */
     1179    {"set_timer",               (PyCFunction)set_timer, METH_OLDARGS},
     1180    {"get_timer",               (PyCFunction)get_timer, METH_NOARGS},
     1181    {NULL,                      NULL}           /* sentinel */
    11821182};
    11831183
     
    11851185
    11861186typedef struct {
    1187         PyObject_HEAD
    1188         FL_FORM *ob_form;
     1187    PyObject_HEAD
     1188    FL_FORM *ob_form;
    11891189} formobject;
    11901190
     
    11961196form_show_form(formobject *f, PyObject *args)
    11971197{
    1198         int place, border;
    1199         char *name;
    1200         if (!PyArg_Parse(args, "(iis)", &place, &border, &name))
    1201                 return NULL;
    1202         fl_show_form(f->ob_form, place, border, name);
    1203         Py_INCREF(Py_None);
    1204         return Py_None;
     1198    int place, border;
     1199    char *name;
     1200    if (!PyArg_Parse(args, "(iis)", &place, &border, &name))
     1201        return NULL;
     1202    fl_show_form(f->ob_form, place, border, name);
     1203    Py_INCREF(Py_None);
     1204    return Py_None;
    12051205}
    12061206
     
    12081208form_call(void (*func)(FL_FORM *), FL_FORM *f)
    12091209{
    1210         (*func)(f);
    1211 
    1212         Py_INCREF(Py_None);
    1213         return Py_None;
     1210    (*func)(f);
     1211
     1212    Py_INCREF(Py_None);
     1213    return Py_None;
    12141214}
    12151215
     
    12171217form_call_INiINi(void (*func)(FL_FORM *, int, int), FL_FORM *f, PyObject *args)
    12181218{
    1219         int a, b;
    1220 
    1221         if (!PyArg_Parse(args, "(ii)", &a, &b)) return NULL;
    1222 
    1223         (*func)(f, a, b);
    1224 
    1225         Py_INCREF(Py_None);
    1226         return Py_None;
     1219    int a, b;
     1220
     1221    if (!PyArg_Parse(args, "(ii)", &a, &b)) return NULL;
     1222
     1223    (*func)(f, a, b);
     1224
     1225    Py_INCREF(Py_None);
     1226    return Py_None;
    12271227}
    12281228
     
    12301230form_call_INfINf(void (*func)(FL_FORM *, float, float), FL_FORM *f, PyObject *args)
    12311231{
    1232         float a, b;
    1233 
    1234         if (!PyArg_Parse(args, "(ff)", &a, &b)) return NULL;
    1235 
    1236         (*func)(f, a, b);
    1237 
    1238         Py_INCREF(Py_None);
    1239         return Py_None;
     1232    float a, b;
     1233
     1234    if (!PyArg_Parse(args, "(ff)", &a, &b)) return NULL;
     1235
     1236    (*func)(f, a, b);
     1237
     1238    Py_INCREF(Py_None);
     1239    return Py_None;
    12401240}
    12411241
     
    12431243form_hide_form(formobject *f)
    12441244{
    1245         return form_call(fl_hide_form, f-> ob_form);
     1245    return form_call(fl_hide_form, f-> ob_form);
    12461246}
    12471247
     
    12491249form_redraw_form(formobject *f)
    12501250{
    1251         return form_call(fl_redraw_form, f-> ob_form);
     1251    return form_call(fl_redraw_form, f-> ob_form);
    12521252}
    12531253
     
    12551255form_set_form_position(formobject *f, PyObject *args)
    12561256{
    1257         return form_call_INiINi(fl_set_form_position, f-> ob_form, args);
     1257    return form_call_INiINi(fl_set_form_position, f-> ob_form, args);
    12581258}
    12591259
     
    12611261form_set_form_size(formobject *f, PyObject *args)
    12621262{
    1263         return form_call_INiINi(fl_set_form_size, f-> ob_form, args);
     1263    return form_call_INiINi(fl_set_form_size, f-> ob_form, args);
    12641264}
    12651265
     
    12671267form_scale_form(formobject *f, PyObject *args)
    12681268{
    1269         return form_call_INfINf(fl_scale_form, f-> ob_form, args);
     1269    return form_call_INfINf(fl_scale_form, f-> ob_form, args);
    12701270}
    12711271
     
    12731273generic_add_object(formobject *f, PyObject *args, FL_OBJECT *(*func)(int, float, float, float, float, char*), PyMethodDef *internal_methods)
    12741274{
    1275         int type;
    1276         float x, y, w, h;
    1277         char *name;
    1278         FL_OBJECT *obj;
    1279 
    1280         if (!PyArg_Parse(args,"(iffffs)", &type,&x,&y,&w,&h,&name))
    1281                 return NULL;
    1282 
    1283         fl_addto_form (f-> ob_form);
    1284 
    1285         obj = (*func) (type, x, y, w, h, name);
    1286 
    1287         fl_end_form();
    1288 
    1289         if (obj == NULL) {
    1290                 PyErr_NoMemory();
    1291                 return NULL;
    1292         }
    1293 
    1294         return newgenericobject (obj, internal_methods);
     1275    int type;
     1276    float x, y, w, h;
     1277    char *name;
     1278    FL_OBJECT *obj;
     1279
     1280    if (!PyArg_Parse(args,"(iffffs)", &type,&x,&y,&w,&h,&name))
     1281        return NULL;
     1282
     1283    fl_addto_form (f-> ob_form);
     1284
     1285    obj = (*func) (type, x, y, w, h, name);
     1286
     1287    fl_end_form();
     1288
     1289    if (obj == NULL) {
     1290        PyErr_NoMemory();
     1291        return NULL;
     1292    }
     1293
     1294    return newgenericobject (obj, internal_methods);
    12951295}
    12961296
     
    12981298form_add_button(formobject *f, PyObject *args)
    12991299{
    1300         return generic_add_object(f, args, fl_add_button, button_methods);
     1300    return generic_add_object(f, args, fl_add_button, button_methods);
    13011301}
    13021302
     
    13041304form_add_lightbutton(formobject *f, PyObject *args)
    13051305{
    1306         return generic_add_object(f, args, fl_add_lightbutton, button_methods);
     1306    return generic_add_object(f, args, fl_add_lightbutton, button_methods);
    13071307}
    13081308
     
    13101310form_add_roundbutton(formobject *f, PyObject *args)
    13111311{
    1312         return generic_add_object(f, args, fl_add_roundbutton, button_methods);
     1312    return generic_add_object(f, args, fl_add_roundbutton, button_methods);
    13131313}
    13141314
     
    13161316form_add_menu (formobject *f, PyObject *args)
    13171317{
    1318         return generic_add_object(f, args, fl_add_menu, menu_methods);
     1318    return generic_add_object(f, args, fl_add_menu, menu_methods);
    13191319}
    13201320
     
    13221322form_add_slider(formobject *f, PyObject *args)
    13231323{
    1324         return generic_add_object(f, args, fl_add_slider, slider_methods);
     1324    return generic_add_object(f, args, fl_add_slider, slider_methods);
    13251325}
    13261326
     
    13281328form_add_valslider(formobject *f, PyObject *args)
    13291329{
    1330         return generic_add_object(f, args, fl_add_valslider, slider_methods);
     1330    return generic_add_object(f, args, fl_add_valslider, slider_methods);
    13311331}
    13321332
     
    13341334form_add_dial(formobject *f, PyObject *args)
    13351335{
    1336         return generic_add_object(f, args, fl_add_dial, dial_methods);
     1336    return generic_add_object(f, args, fl_add_dial, dial_methods);
    13371337}
    13381338
     
    13401340form_add_counter(formobject *f, PyObject *args)
    13411341{
    1342         return generic_add_object(f, args, fl_add_counter, counter_methods);
     1342    return generic_add_object(f, args, fl_add_counter, counter_methods);
    13431343}
    13441344
     
    13461346form_add_clock(formobject *f, PyObject *args)
    13471347{
    1348         return generic_add_object(f, args, fl_add_clock, clock_methods);
     1348    return generic_add_object(f, args, fl_add_clock, clock_methods);
    13491349}
    13501350
     
    13521352form_add_box(formobject *f, PyObject *args)
    13531353{
    1354         return generic_add_object(f, args, fl_add_box,
    1355                                   (PyMethodDef *)NULL);
     1354    return generic_add_object(f, args, fl_add_box,
     1355                              (PyMethodDef *)NULL);
    13561356}
    13571357
     
    13591359form_add_choice(formobject *f, PyObject *args)
    13601360{
    1361         return generic_add_object(f, args, fl_add_choice, choice_methods);
     1361    return generic_add_object(f, args, fl_add_choice, choice_methods);
    13621362}
    13631363
     
    13651365form_add_browser(formobject *f, PyObject *args)
    13661366{
    1367         return generic_add_object(f, args, fl_add_browser, browser_methods);
     1367    return generic_add_object(f, args, fl_add_browser, browser_methods);
    13681368}
    13691369
     
    13711371form_add_positioner(formobject *f, PyObject *args)
    13721372{
    1373         return generic_add_object(f, args, fl_add_positioner,
    1374                                   positioner_methods);
     1373    return generic_add_object(f, args, fl_add_positioner,
     1374                              positioner_methods);
    13751375}
    13761376
     
    13781378form_add_input(formobject *f, PyObject *args)
    13791379{
    1380         return generic_add_object(f, args, fl_add_input, input_methods);
     1380    return generic_add_object(f, args, fl_add_input, input_methods);
    13811381}
    13821382
     
    13841384form_add_text(formobject *f, PyObject *args)
    13851385{
    1386         return generic_add_object(f, args, fl_add_text,
    1387                                   (PyMethodDef *)NULL);
     1386    return generic_add_object(f, args, fl_add_text,
     1387                              (PyMethodDef *)NULL);
    13881388}
    13891389
     
    13911391form_add_timer(formobject *f, PyObject *args)
    13921392{
    1393         return generic_add_object(f, args, fl_add_timer, timer_methods);
     1393    return generic_add_object(f, args, fl_add_timer, timer_methods);
    13941394}
    13951395
     
    13971397form_freeze_form(formobject *f)
    13981398{
    1399         return form_call(fl_freeze_form, f-> ob_form);
     1399    return form_call(fl_freeze_form, f-> ob_form);
    14001400}
    14011401
     
    14031403form_unfreeze_form(formobject *f)
    14041404{
    1405         return form_call(fl_unfreeze_form, f-> ob_form);
     1405    return form_call(fl_unfreeze_form, f-> ob_form);
    14061406}
    14071407
     
    14091409form_activate_form(formobject *f)
    14101410{
    1411         return form_call(fl_activate_form, f-> ob_form);
     1411    return form_call(fl_activate_form, f-> ob_form);
    14121412}
    14131413
     
    14151415form_deactivate_form(formobject *f)
    14161416{
    1417         return form_call(fl_deactivate_form, f-> ob_form);
     1417    return form_call(fl_deactivate_form, f-> ob_form);
    14181418}
    14191419
     
    14211421form_bgn_group(formobject *f, PyObject *args)
    14221422{
    1423         FL_OBJECT *obj;
    1424 
    1425         fl_addto_form(f-> ob_form);
    1426         obj = fl_bgn_group();
    1427         fl_end_form();
    1428 
    1429         if (obj == NULL) {
    1430                 PyErr_NoMemory();
    1431                 return NULL;
    1432         }
    1433 
    1434         return newgenericobject (obj, (PyMethodDef *) NULL);
     1423    FL_OBJECT *obj;
     1424
     1425    fl_addto_form(f-> ob_form);
     1426    obj = fl_bgn_group();
     1427    fl_end_form();
     1428
     1429    if (obj == NULL) {
     1430        PyErr_NoMemory();
     1431        return NULL;
     1432    }
     1433
     1434    return newgenericobject (obj, (PyMethodDef *) NULL);
    14351435}
    14361436
     
    14381438form_end_group(formobject *f, PyObject *args)
    14391439{
    1440         fl_addto_form(f-> ob_form);
    1441         fl_end_group();
    1442         fl_end_form();
    1443         Py_INCREF(Py_None);
    1444         return Py_None;
     1440    fl_addto_form(f-> ob_form);
     1441    fl_end_group();
     1442    fl_end_form();
     1443    Py_INCREF(Py_None);
     1444    return Py_None;
    14451445}
    14461446
     
    14481448forms_find_first_or_last(FL_OBJECT *(*func)(FL_FORM *, int, float, float), formobject *f, PyObject *args)
    14491449{
    1450         int type;
    1451         float mx, my;
    1452         FL_OBJECT *generic;
    1453         genericobject *g;
    1454        
    1455         if (!PyArg_Parse(args, "(iff)", &type, &mx, &my)) return NULL;
    1456 
    1457         generic = (*func) (f-> ob_form, type, mx, my);
    1458 
    1459         if (generic == NULL)
    1460         {
    1461                 Py_INCREF(Py_None);
    1462                 return Py_None;
    1463         }
    1464 
    1465         g = findgeneric(generic);
    1466         if (g == NULL) {
    1467                 PyErr_SetString(PyExc_RuntimeError,
    1468                            "forms_find_{first|last} returns unknown object");
    1469                 return NULL;
    1470         }
    1471         Py_INCREF(g);
    1472         return (PyObject *) g;
     1450    int type;
     1451    float mx, my;
     1452    FL_OBJECT *generic;
     1453    genericobject *g;
     1454
     1455    if (!PyArg_Parse(args, "(iff)", &type, &mx, &my)) return NULL;
     1456
     1457    generic = (*func) (f-> ob_form, type, mx, my);
     1458
     1459    if (generic == NULL)
     1460    {
     1461        Py_INCREF(Py_None);
     1462        return Py_None;
     1463    }
     1464
     1465    g = findgeneric(generic);
     1466    if (g == NULL) {
     1467        PyErr_SetString(PyExc_RuntimeError,
     1468                   "forms_find_{first|last} returns unknown object");
     1469        return NULL;
     1470    }
     1471    Py_INCREF(g);
     1472    return (PyObject *) g;
    14731473}
    14741474
     
    14761476form_find_first(formobject *f, PyObject *args)
    14771477{
    1478         return forms_find_first_or_last(fl_find_first, f, args);
     1478    return forms_find_first_or_last(fl_find_first, f, args);
    14791479}
    14801480
     
    14821482form_find_last(formobject *f, PyObject *args)
    14831483{
    1484         return forms_find_first_or_last(fl_find_last, f, args);
     1484    return forms_find_first_or_last(fl_find_last, f, args);
    14851485}
    14861486
     
    14881488form_set_object_focus(formobject *f, PyObject *args)
    14891489{
    1490         genericobject *g;
    1491         if (args == NULL || !is_genericobject(args)) {
    1492                 PyErr_BadArgument();
    1493                 return NULL;
    1494         }
    1495         g = (genericobject *)args;
    1496         fl_set_object_focus(f->ob_form, g->ob_generic);
    1497         Py_INCREF(Py_None);
    1498         return Py_None;
     1490    genericobject *g;
     1491    if (args == NULL || !is_genericobject(args)) {
     1492        PyErr_BadArgument();
     1493        return NULL;
     1494    }
     1495    g = (genericobject *)args;
     1496    fl_set_object_focus(f->ob_form, g->ob_generic);
     1497    Py_INCREF(Py_None);
     1498    return Py_None;
    14991499}
    15001500
    15011501static PyMethodDef form_methods[] = {
    15021502/* adm */
    1503         {"show_form",           (PyCFunction)form_show_form,     METH_OLDARGS},
    1504         {"hide_form",           (PyCFunction)form_hide_form,     METH_NOARGS},
    1505         {"redraw_form",         (PyCFunction)form_redraw_form,   METH_NOARGS},
    1506         {"set_form_position",   (PyCFunction)form_set_form_position, METH_OLDARGS},
    1507         {"set_form_size",       (PyCFunction)form_set_form_size, METH_OLDARGS},
    1508         {"scale_form",          (PyCFunction)form_scale_form,    METH_OLDARGS},
    1509         {"freeze_form",         (PyCFunction)form_freeze_form,   METH_NOARGS},
    1510         {"unfreeze_form",       (PyCFunction)form_unfreeze_form, METH_NOARGS},
    1511         {"activate_form",       (PyCFunction)form_activate_form, METH_NOARGS},
    1512         {"deactivate_form",     (PyCFunction)form_deactivate_form, METH_NOARGS},
    1513         {"bgn_group",           (PyCFunction)form_bgn_group,  METH_OLDARGS},
    1514         {"end_group",           (PyCFunction)form_end_group,  METH_OLDARGS},
    1515         {"find_first",          (PyCFunction)form_find_first, METH_OLDARGS},
    1516         {"find_last",           (PyCFunction)form_find_last,  METH_OLDARGS},
    1517         {"set_object_focus",    (PyCFunction)form_set_object_focus, METH_OLDARGS},
     1503    {"show_form",               (PyCFunction)form_show_form,     METH_OLDARGS},
     1504    {"hide_form",               (PyCFunction)form_hide_form,     METH_NOARGS},
     1505    {"redraw_form",             (PyCFunction)form_redraw_form,   METH_NOARGS},
     1506    {"set_form_position",       (PyCFunction)form_set_form_position, METH_OLDARGS},
     1507    {"set_form_size",           (PyCFunction)form_set_form_size, METH_OLDARGS},
     1508    {"scale_form",              (PyCFunction)form_scale_form,    METH_OLDARGS},
     1509    {"freeze_form",             (PyCFunction)form_freeze_form,   METH_NOARGS},
     1510    {"unfreeze_form",           (PyCFunction)form_unfreeze_form, METH_NOARGS},
     1511    {"activate_form",           (PyCFunction)form_activate_form, METH_NOARGS},
     1512    {"deactivate_form",         (PyCFunction)form_deactivate_form, METH_NOARGS},
     1513    {"bgn_group",               (PyCFunction)form_bgn_group,  METH_OLDARGS},
     1514    {"end_group",               (PyCFunction)form_end_group,  METH_OLDARGS},
     1515    {"find_first",              (PyCFunction)form_find_first, METH_OLDARGS},
     1516    {"find_last",               (PyCFunction)form_find_last,  METH_OLDARGS},
     1517    {"set_object_focus",        (PyCFunction)form_set_object_focus, METH_OLDARGS},
    15181518
    15191519/* basic objects */
    1520         {"add_button",          (PyCFunction)form_add_button, METH_OLDARGS},
    1521 /*      {"add_bitmap",          (method)form_add_bitmap, METH_OLDARGS}, */
    1522         {"add_lightbutton",     (PyCFunction)form_add_lightbutton, METH_OLDARGS},
    1523         {"add_roundbutton",     (PyCFunction)form_add_roundbutton, METH_OLDARGS},
    1524         {"add_menu",            (PyCFunction)form_add_menu,      METH_OLDARGS},
    1525         {"add_slider",          (PyCFunction)form_add_slider,    METH_OLDARGS},
    1526         {"add_positioner",      (PyCFunction)form_add_positioner, METH_OLDARGS},
    1527         {"add_valslider",       (PyCFunction)form_add_valslider, METH_OLDARGS},
    1528         {"add_dial",            (PyCFunction)form_add_dial,      METH_OLDARGS},
    1529         {"add_counter",         (PyCFunction)form_add_counter,   METH_OLDARGS},
    1530         {"add_box",             (PyCFunction)form_add_box,       METH_OLDARGS},
    1531         {"add_clock",           (PyCFunction)form_add_clock,     METH_OLDARGS},
    1532         {"add_choice",          (PyCFunction)form_add_choice,    METH_OLDARGS},
    1533         {"add_browser",         (PyCFunction)form_add_browser,   METH_OLDARGS},
    1534         {"add_input",           (PyCFunction)form_add_input,     METH_OLDARGS},
    1535         {"add_timer",           (PyCFunction)form_add_timer,     METH_OLDARGS},
    1536         {"add_text",            (PyCFunction)form_add_text,      METH_OLDARGS},
    1537         {NULL,                  NULL}           /* sentinel */
     1520    {"add_button",              (PyCFunction)form_add_button, METH_OLDARGS},
     1521/*      {"add_bitmap",          (method)form_add_bitmap, METH_OLDARGS}, */
     1522    {"add_lightbutton",         (PyCFunction)form_add_lightbutton, METH_OLDARGS},
     1523    {"add_roundbutton",         (PyCFunction)form_add_roundbutton, METH_OLDARGS},
     1524    {"add_menu",                (PyCFunction)form_add_menu,      METH_OLDARGS},
     1525    {"add_slider",              (PyCFunction)form_add_slider,    METH_OLDARGS},
     1526    {"add_positioner",          (PyCFunction)form_add_positioner, METH_OLDARGS},
     1527    {"add_valslider",           (PyCFunction)form_add_valslider, METH_OLDARGS},
     1528    {"add_dial",                (PyCFunction)form_add_dial,      METH_OLDARGS},
     1529    {"add_counter",             (PyCFunction)form_add_counter,   METH_OLDARGS},
     1530    {"add_box",                 (PyCFunction)form_add_box,       METH_OLDARGS},
     1531    {"add_clock",               (PyCFunction)form_add_clock,     METH_OLDARGS},
     1532    {"add_choice",              (PyCFunction)form_add_choice,    METH_OLDARGS},
     1533    {"add_browser",             (PyCFunction)form_add_browser,   METH_OLDARGS},
     1534    {"add_input",               (PyCFunction)form_add_input,     METH_OLDARGS},
     1535    {"add_timer",               (PyCFunction)form_add_timer,     METH_OLDARGS},
     1536    {"add_text",                (PyCFunction)form_add_text,      METH_OLDARGS},
     1537    {NULL,                      NULL}           /* sentinel */
    15381538};
    15391539
     
    15411541form_dealloc(formobject *f)
    15421542{
    1543         releaseobjects(f->ob_form);
    1544         if (f->ob_form->visible)
    1545                 fl_hide_form(f->ob_form);
    1546         fl_free_form(f->ob_form);
    1547         PyObject_Del(f);
     1543    releaseobjects(f->ob_form);
     1544    if (f->ob_form->visible)
     1545        fl_hide_form(f->ob_form);
     1546    fl_free_form(f->ob_form);
     1547    PyObject_Del(f);
    15481548}
    15491549
     
    15511551
    15521552static struct memberlist form_memberlist[] = {
    1553         {"window",      T_LONG,         OFF(window),    RO},
    1554         {"w",           T_FLOAT,        OFF(w)},
    1555         {"h",           T_FLOAT,        OFF(h)},
    1556         {"x",           T_FLOAT,        OFF(x),         RO},
    1557         {"y",           T_FLOAT,        OFF(y),         RO},
    1558         {"deactivated", T_INT,          OFF(deactivated)},
    1559         {"visible",     T_INT,          OFF(visible),   RO},
    1560         {"frozen",      T_INT,          OFF(frozen),    RO},
    1561         {"doublebuf",   T_INT,          OFF(doublebuf)},
    1562         {NULL}  /* Sentinel */
     1553    {"window",          T_LONG,         OFF(window),    RO},
     1554    {"w",               T_FLOAT,        OFF(w)},
     1555    {"h",               T_FLOAT,        OFF(h)},
     1556    {"x",               T_FLOAT,        OFF(x),         RO},
     1557    {"y",               T_FLOAT,        OFF(y),         RO},
     1558    {"deactivated",     T_INT,          OFF(deactivated)},
     1559    {"visible",         T_INT,          OFF(visible),   RO},
     1560    {"frozen",          T_INT,          OFF(frozen),    RO},
     1561    {"doublebuf",       T_INT,          OFF(doublebuf)},
     1562    {NULL}      /* Sentinel */
    15631563};
    15641564
     
    15681568form_getattr(formobject *f, char *name)
    15691569{
    1570         PyObject *meth;
    1571 
    1572         meth = Py_FindMethod(form_methods, (PyObject *)f, name);
    1573         if (meth != NULL)
    1574                 return meth;
    1575         PyErr_Clear();
    1576         return PyMember_Get((char *)f->ob_form, form_memberlist, name);
     1570    PyObject *meth;
     1571
     1572    meth = Py_FindMethod(form_methods, (PyObject *)f, name);
     1573    if (meth != NULL)
     1574        return meth;
     1575    PyErr_Clear();
     1576    return PyMember_Get((char *)f->ob_form, form_memberlist, name);
    15771577}
    15781578
     
    15801580form_setattr(formobject *f, char *name, PyObject *v)
    15811581{
    1582         if (v == NULL) {
    1583                 PyErr_SetString(PyExc_TypeError,
    1584                                 "can't delete form attributes");
    1585                 return -1;
    1586         }
    1587 
    1588         return PyMember_Set((char *)f->ob_form, form_memberlist, name, v);
     1582    if (v == NULL) {
     1583        PyErr_SetString(PyExc_TypeError,
     1584                        "can't delete form attributes");
     1585        return -1;
     1586    }
     1587
     1588    return PyMember_Set((char *)f->ob_form, form_memberlist, name, v);
    15891589}
    15901590
     
    15921592form_repr(formobject *f)
    15931593{
    1594         char buf[100];
    1595         PyOS_snprintf(buf, sizeof(buf), "<FORMS_form at %p, window=%ld>",
    1596                       f, f->ob_form->window);
    1597         return PyString_FromString(buf);
     1594    char buf[100];
     1595    PyOS_snprintf(buf, sizeof(buf), "<FORMS_form at %p, window=%ld>",
     1596                  f, f->ob_form->window);
     1597    return PyString_FromString(buf);
    15981598}
    15991599
    16001600static PyTypeObject Formtype = {
    1601         PyObject_HEAD_INIT(&PyType_Type)
    1602         0,                              /*ob_size*/
    1603         "fl.FORMS_form",                /*tp_name*/
    1604         sizeof(formobject),             /*tp_size*/
    1605         0,                              /*tp_itemsize*/
    1606         /* methods */
    1607         (destructor)form_dealloc,       /*tp_dealloc*/
    1608         0,                              /*tp_print*/
    1609         (getattrfunc)form_getattr,      /*tp_getattr*/
    1610         (setattrfunc)form_setattr,      /*tp_setattr*/
    1611         0,                              /*tp_compare*/
    1612         (reprfunc)form_repr,            /*tp_repr*/
     1601    PyObject_HEAD_INIT(&PyType_Type)
     1602    0,                                  /*ob_size*/
     1603    "fl.FORMS_form",                    /*tp_name*/
     1604    sizeof(formobject),                 /*tp_size*/
     1605    0,                                  /*tp_itemsize*/
     1606    /* methods */
     1607    (destructor)form_dealloc,           /*tp_dealloc*/
     1608    0,                                  /*tp_print*/
     1609    (getattrfunc)form_getattr,          /*tp_getattr*/
     1610    (setattrfunc)form_setattr,          /*tp_setattr*/
     1611    0,                                  /*tp_compare*/
     1612    (reprfunc)form_repr,                /*tp_repr*/
    16131613};
    16141614
     
    16161616newformobject(FL_FORM *form)
    16171617{
    1618         formobject *f;
    1619         f = PyObject_New(formobject, &Formtype);
    1620         if (f == NULL)
    1621                 return NULL;
    1622         f->ob_form = form;
    1623         return (PyObject *)f;
     1618    formobject *f;
     1619    f = PyObject_New(formobject, &Formtype);
     1620    if (f == NULL)
     1621        return NULL;
     1622    f->ob_form = form;
     1623    return (PyObject *)f;
    16241624}
    16251625
     
    16301630forms_make_form(PyObject *dummy, PyObject *args)
    16311631{
    1632         int type;
    1633         float w, h;
    1634         FL_FORM *form;
    1635         if (!PyArg_Parse(args, "(iff)", &type, &w, &h))
    1636                 return NULL;
    1637         form = fl_bgn_form(type, w, h);
    1638         if (form == NULL) {
    1639                 /* XXX Actually, cannot happen! */
    1640                 PyErr_NoMemory();
    1641                 return NULL;
    1642         }
    1643         fl_end_form();
    1644         return newformobject(form);
     1632    int type;
     1633    float w, h;
     1634    FL_FORM *form;
     1635    if (!PyArg_Parse(args, "(iff)", &type, &w, &h))
     1636        return NULL;
     1637    form = fl_bgn_form(type, w, h);
     1638    if (form == NULL) {
     1639        /* XXX Actually, cannot happen! */
     1640        PyErr_NoMemory();
     1641        return NULL;
     1642    }
     1643    fl_end_form();
     1644    return newformobject(form);
    16451645}
    16461646
     
    16481648forms_activate_all_forms(PyObject *f, PyObject *args)
    16491649{
    1650         fl_activate_all_forms();
    1651         Py_INCREF(Py_None);
    1652         return Py_None;
     1650    fl_activate_all_forms();
     1651    Py_INCREF(Py_None);
     1652    return Py_None;
    16531653}
    16541654
     
    16561656forms_deactivate_all_forms(PyObject *f, PyObject *args)
    16571657{
    1658         fl_deactivate_all_forms();
    1659         Py_INCREF(Py_None);
    1660         return Py_None;
     1658    fl_deactivate_all_forms();
     1659    Py_INCREF(Py_None);
     1660    return Py_None;
    16611661}
    16621662
     
    16661666forms_set_event_call_back(PyObject *dummy, PyObject *args)
    16671667{
    1668         if (args == Py_None)
    1669                 args = NULL;
    1670         my_event_callback = args;
    1671         Py_XINCREF(args);
    1672         Py_INCREF(Py_None);
    1673         return Py_None;
     1668    if (args == Py_None)
     1669        args = NULL;
     1670    my_event_callback = args;
     1671    Py_XINCREF(args);
     1672    Py_INCREF(Py_None);
     1673    return Py_None;
    16741674}
    16751675
     
    16771677forms_do_or_check_forms(PyObject *dummy, FL_OBJECT *(*func)(void))
    16781678{
    1679         FL_OBJECT *generic;
    1680         genericobject *g;
    1681         PyObject *arg, *res;
    1682 
    1683         for (;;) {
    1684                 Py_BEGIN_ALLOW_THREADS
    1685                 generic = (*func)();
    1686                 Py_END_ALLOW_THREADS
    1687                 if (generic == NULL) {
    1688                         Py_INCREF(Py_None);
    1689                         return Py_None;
    1690                 }
    1691                 if (generic == FL_EVENT) {
    1692                         int dev;
    1693                         short val;
    1694                         if (my_event_callback == NULL)
    1695                                 return PyInt_FromLong(-1L);
    1696                         dev = fl_qread(&val);
    1697                         arg = Py_BuildValue("(ih)", dev, val);
    1698                         if (arg == NULL)
    1699                                 return NULL;
    1700                         res = PyEval_CallObject(my_event_callback, arg);
    1701                         Py_XDECREF(res);
    1702                         Py_DECREF(arg);
    1703                         if (res == NULL)
    1704                                 return NULL; /* Callback raised exception */
    1705                         continue;
    1706                 }
    1707                 g = findgeneric(generic);
    1708                 if (g == NULL) {
    1709                         /* Object not known to us (some dialogs cause this) */
    1710                         continue; /* Ignore it */
    1711                 }
    1712                 if (g->ob_callback == NULL) {
    1713                         Py_INCREF(g);
    1714                         return ((PyObject *) g);
    1715                 }
    1716                 arg = PyTuple_Pack(2, (PyObject *)g, g->ob_callback_arg);
    1717                 if (arg == NULL)
    1718                         return NULL;
    1719                 res = PyEval_CallObject(g->ob_callback, arg);
    1720                 Py_XDECREF(res);
    1721                 Py_DECREF(arg);
    1722                 if (res == NULL)
    1723                         return NULL; /* Callback raised exception */
    1724         }
     1679    FL_OBJECT *generic;
     1680    genericobject *g;
     1681    PyObject *arg, *res;
     1682
     1683    for (;;) {
     1684        Py_BEGIN_ALLOW_THREADS
     1685        generic = (*func)();
     1686        Py_END_ALLOW_THREADS
     1687        if (generic == NULL) {
     1688            Py_INCREF(Py_None);
     1689            return Py_None;
     1690        }
     1691        if (generic == FL_EVENT) {
     1692            int dev;
     1693            short val;
     1694            if (my_event_callback == NULL)
     1695                return PyInt_FromLong(-1L);
     1696            dev = fl_qread(&val);
     1697            arg = Py_BuildValue("(ih)", dev, val);
     1698            if (arg == NULL)
     1699                return NULL;
     1700            res = PyEval_CallObject(my_event_callback, arg);
     1701            Py_XDECREF(res);
     1702            Py_DECREF(arg);
     1703            if (res == NULL)
     1704                return NULL; /* Callback raised exception */
     1705            continue;
     1706        }
     1707        g = findgeneric(generic);
     1708        if (g == NULL) {
     1709            /* Object not known to us (some dialogs cause this) */
     1710            continue; /* Ignore it */
     1711        }
     1712        if (g->ob_callback == NULL) {
     1713            Py_INCREF(g);
     1714            return ((PyObject *) g);
     1715        }
     1716        arg = PyTuple_Pack(2, (PyObject *)g, g->ob_callback_arg);
     1717        if (arg == NULL)
     1718            return NULL;
     1719        res = PyEval_CallObject(g->ob_callback, arg);
     1720        Py_XDECREF(res);
     1721        Py_DECREF(arg);
     1722        if (res == NULL)
     1723            return NULL; /* Callback raised exception */
     1724    }
    17251725}
    17261726
     
    17281728forms_do_forms(PyObject *dummy)
    17291729{
    1730         return forms_do_or_check_forms(dummy, fl_do_forms);
     1730    return forms_do_or_check_forms(dummy, fl_do_forms);
    17311731}
    17321732
     
    17341734forms_check_forms(PyObject *dummy)
    17351735{
    1736         return forms_do_or_check_forms(dummy, fl_check_forms);
     1736    return forms_do_or_check_forms(dummy, fl_check_forms);
    17371737}
    17381738
     
    17401740forms_do_only_forms(PyObject *dummy)
    17411741{
    1742         return forms_do_or_check_forms(dummy, fl_do_only_forms);
     1742    return forms_do_or_check_forms(dummy, fl_do_only_forms);
    17431743}
    17441744
     
    17461746forms_check_only_forms(PyObject *dummy)
    17471747{
    1748         return forms_do_or_check_forms(dummy, fl_check_only_forms);
     1748    return forms_do_or_check_forms(dummy, fl_check_only_forms);
    17491749}
    17501750
     
    17531753fl_call(void (*func)(void))
    17541754{
    1755         (*func)();
    1756         Py_INCREF(Py_None);
    1757         return Py_None;
     1755    (*func)();
     1756    Py_INCREF(Py_None);
     1757    return Py_None;
    17581758}
    17591759#endif
     
    17621762forms_set_graphics_mode(PyObject *dummy, PyObject *args)
    17631763{
    1764         int rgbmode, doublebuf;
    1765 
    1766         if (!PyArg_Parse(args, "(ii)", &rgbmode, &doublebuf))
    1767                 return NULL;
    1768         fl_set_graphics_mode(rgbmode,doublebuf);
    1769         Py_INCREF(Py_None);
    1770         return Py_None;
     1764    int rgbmode, doublebuf;
     1765
     1766    if (!PyArg_Parse(args, "(ii)", &rgbmode, &doublebuf))
     1767        return NULL;
     1768    fl_set_graphics_mode(rgbmode,doublebuf);
     1769    Py_INCREF(Py_None);
     1770    return Py_None;
    17711771}
    17721772
     
    17741774forms_get_rgbmode(PyObject *dummy, PyObject *args)
    17751775{
    1776         extern int fl_rgbmode;
    1777 
    1778         if (args != NULL) {
    1779                 PyErr_BadArgument();
    1780                 return NULL;
    1781         }
    1782         return PyInt_FromLong((long)fl_rgbmode);
     1776    extern int fl_rgbmode;
     1777
     1778    if (args != NULL) {
     1779        PyErr_BadArgument();
     1780        return NULL;
     1781    }
     1782    return PyInt_FromLong((long)fl_rgbmode);
    17831783}
    17841784
     
    17861786forms_show_errors(PyObject *dummy, PyObject *args)
    17871787{
    1788         int show;
    1789         if (!PyArg_Parse(args, "i", &show))
    1790                 return NULL;
    1791         fl_show_errors(show);
    1792         Py_INCREF(Py_None);
    1793         return Py_None;
     1788    int show;
     1789    if (!PyArg_Parse(args, "i", &show))
     1790        return NULL;
     1791    fl_show_errors(show);
     1792    Py_INCREF(Py_None);
     1793    return Py_None;
    17941794}
    17951795
     
    17971797forms_set_font_name(PyObject *dummy, PyObject *args)
    17981798{
    1799         int numb;
    1800         char *name;
    1801         if (!PyArg_Parse(args, "(is)", &numb, &name))
    1802                 return NULL;
    1803         fl_set_font_name(numb, name);
    1804         Py_INCREF(Py_None);
    1805         return Py_None;
     1799    int numb;
     1800    char *name;
     1801    if (!PyArg_Parse(args, "(is)", &numb, &name))
     1802        return NULL;
     1803    fl_set_font_name(numb, name);
     1804    Py_INCREF(Py_None);
     1805    return Py_None;
    18061806}
    18071807
     
    18101810forms_qdevice(PyObject *self, PyObject *args)
    18111811{
    1812         short arg1;
    1813         if (!PyArg_Parse(args, "h", &arg1))
    1814                 return NULL;
    1815         fl_qdevice(arg1);
    1816         Py_INCREF(Py_None);
    1817         return Py_None;
     1812    short arg1;
     1813    if (!PyArg_Parse(args, "h", &arg1))
     1814        return NULL;
     1815    fl_qdevice(arg1);
     1816    Py_INCREF(Py_None);
     1817    return Py_None;
    18181818}
    18191819
     
    18211821forms_unqdevice(PyObject *self, PyObject *args)
    18221822{
    1823         short arg1;
    1824         if (!PyArg_Parse(args, "h", &arg1))
    1825                 return NULL;
    1826         fl_unqdevice(arg1);
    1827         Py_INCREF(Py_None);
    1828         return Py_None;
     1823    short arg1;
     1824    if (!PyArg_Parse(args, "h", &arg1))
     1825        return NULL;
     1826    fl_unqdevice(arg1);
     1827    Py_INCREF(Py_None);
     1828    return Py_None;
    18291829}
    18301830
     
    18321832forms_isqueued(PyObject *self, PyObject *args)
    18331833{
    1834         long retval;
    1835         short arg1;
    1836         if (!PyArg_Parse(args, "h", &arg1))
    1837                 return NULL;
    1838         retval = fl_isqueued(arg1);
    1839 
    1840         return PyInt_FromLong(retval);
     1834    long retval;
     1835    short arg1;
     1836    if (!PyArg_Parse(args, "h", &arg1))
     1837        return NULL;
     1838    retval = fl_isqueued(arg1);
     1839
     1840    return PyInt_FromLong(retval);
    18411841}
    18421842
     
    18441844forms_qtest(PyObject *self, PyObject *args)
    18451845{
    1846         long retval;
    1847         retval = fl_qtest();
    1848         return PyInt_FromLong(retval);
     1846    long retval;
     1847    retval = fl_qtest();
     1848    return PyInt_FromLong(retval);
    18491849}
    18501850
     
    18531853forms_qread(PyObject *self, PyObject *args)
    18541854{
    1855         int dev;
    1856         short val;
    1857         Py_BEGIN_ALLOW_THREADS
    1858         dev = fl_qread(&val);
    1859         Py_END_ALLOW_THREADS
    1860         return Py_BuildValue("(ih)", dev, val);
     1855    int dev;
     1856    short val;
     1857    Py_BEGIN_ALLOW_THREADS
     1858    dev = fl_qread(&val);
     1859    Py_END_ALLOW_THREADS
     1860    return Py_BuildValue("(ih)", dev, val);
    18611861}
    18621862
     
    18641864forms_qreset(PyObject *self)
    18651865{
    1866         fl_qreset();
    1867         Py_INCREF(Py_None);
    1868         return Py_None;
     1866    fl_qreset();
     1867    Py_INCREF(Py_None);
     1868    return Py_None;
    18691869}
    18701870
     
    18721872forms_qenter(PyObject *self, PyObject *args)
    18731873{
    1874         short arg1, arg2;
    1875         if (!PyArg_Parse(args, "(hh)", &arg1, &arg2))
    1876                 return NULL;
    1877         fl_qenter(arg1, arg2);
    1878         Py_INCREF(Py_None);
    1879         return Py_None;
     1874    short arg1, arg2;
     1875    if (!PyArg_Parse(args, "(hh)", &arg1, &arg2))
     1876        return NULL;
     1877    fl_qenter(arg1, arg2);
     1878    Py_INCREF(Py_None);
     1879    return Py_None;
    18801880}
    18811881
     
    18831883forms_color(PyObject *self, PyObject *args)
    18841884{
    1885         int arg;
    1886 
    1887         if (!PyArg_Parse(args, "i", &arg)) return NULL;
    1888 
    1889         fl_color((short) arg);
    1890 
    1891         Py_INCREF(Py_None);
    1892         return Py_None;
     1885    int arg;
     1886
     1887    if (!PyArg_Parse(args, "i", &arg)) return NULL;
     1888
     1889    fl_color((short) arg);
     1890
     1891    Py_INCREF(Py_None);
     1892    return Py_None;
    18931893}
    18941894
     
    18961896forms_mapcolor(PyObject *self, PyObject *args)
    18971897{
    1898         int arg0, arg1, arg2, arg3;
    1899 
    1900         if (!PyArg_Parse(args, "(iiii)", &arg0, &arg1, &arg2, &arg3))
    1901                 return NULL;
    1902 
    1903         fl_mapcolor(arg0, (short) arg1, (short) arg2, (short) arg3);
    1904 
    1905         Py_INCREF(Py_None);
    1906         return Py_None;
     1898    int arg0, arg1, arg2, arg3;
     1899
     1900    if (!PyArg_Parse(args, "(iiii)", &arg0, &arg1, &arg2, &arg3))
     1901        return NULL;
     1902
     1903    fl_mapcolor(arg0, (short) arg1, (short) arg2, (short) arg3);
     1904
     1905    Py_INCREF(Py_None);
     1906    return Py_None;
    19071907}
    19081908
     
    19101910forms_getmcolor(PyObject *self, PyObject *args)
    19111911{
    1912         int arg;
    1913         short r, g, b;
    1914 
    1915         if (!PyArg_Parse(args, "i", &arg)) return NULL;
    1916 
    1917         fl_getmcolor(arg, &r, &g, &b);
    1918 
    1919         return Py_BuildValue("(hhh)", r, g, b);
     1912    int arg;
     1913    short r, g, b;
     1914
     1915    if (!PyArg_Parse(args, "i", &arg)) return NULL;
     1916
     1917    fl_getmcolor(arg, &r, &g, &b);
     1918
     1919    return Py_BuildValue("(hhh)", r, g, b);
    19201920}
    19211921
     
    19231923forms_get_mouse(PyObject *self)
    19241924{
    1925         float x, y;
    1926 
    1927         fl_get_mouse(&x, &y);
    1928 
    1929         return Py_BuildValue("(ff)", x, y);
     1925    float x, y;
     1926
     1927    fl_get_mouse(&x, &y);
     1928
     1929    return Py_BuildValue("(ff)", x, y);
    19301930}
    19311931
     
    19331933forms_tie(PyObject *self, PyObject *args)
    19341934{
    1935         short arg1, arg2, arg3;
    1936         if (!PyArg_Parse(args, "(hhh)", &arg1, &arg2, &arg3))
    1937                 return NULL;
    1938         fl_tie(arg1, arg2, arg3);
    1939         Py_INCREF(Py_None);
    1940         return Py_None;
     1935    short arg1, arg2, arg3;
     1936    if (!PyArg_Parse(args, "(hhh)", &arg1, &arg2, &arg3))
     1937        return NULL;
     1938    fl_tie(arg1, arg2, arg3);
     1939    Py_INCREF(Py_None);
     1940    return Py_None;
    19411941}
    19421942
     
    19441944forms_show_message(PyObject *f, PyObject *args)
    19451945{
    1946         char *a, *b, *c;
    1947 
    1948         if (!PyArg_Parse(args, "(sss)", &a, &b, &c)) return NULL;
    1949 
    1950         Py_BEGIN_ALLOW_THREADS
    1951         fl_show_message(a, b, c);
    1952         Py_END_ALLOW_THREADS
    1953 
    1954         Py_INCREF(Py_None);
    1955         return Py_None;
     1946    char *a, *b, *c;
     1947
     1948    if (!PyArg_Parse(args, "(sss)", &a, &b, &c)) return NULL;
     1949
     1950    Py_BEGIN_ALLOW_THREADS
     1951    fl_show_message(a, b, c);
     1952    Py_END_ALLOW_THREADS
     1953
     1954    Py_INCREF(Py_None);
     1955    return Py_None;
    19561956}
    19571957
     
    19591959forms_show_choice(PyObject *f, PyObject *args)
    19601960{
    1961         char *m1, *m2, *m3, *b1, *b2, *b3;
    1962         int nb;
    1963         char *format;
    1964         long rv;
    1965 
    1966         if (args == NULL || !PyTuple_Check(args)) {
    1967                 PyErr_BadArgument();
    1968                 return NULL;
    1969         }
    1970         nb = PyTuple_Size(args) - 3;
    1971         if (nb <= 0) {
    1972                 PyErr_SetString(PyExc_TypeError,
    1973                                 "need at least one button label");
    1974                 return NULL;
    1975         }
    1976         if (PyInt_Check(PyTuple_GetItem(args, 3))) {
    1977                 PyErr_SetString(PyExc_TypeError,
    1978                            "'number-of-buttons' argument not needed");
    1979                 return NULL;
    1980         }
    1981         switch (nb) {
    1982         case 1: format = "(ssss)"; break;
    1983         case 2: format = "(sssss)"; break;
    1984         case 3: format = "(ssssss)"; break;
    1985         default:
    1986                 PyErr_SetString(PyExc_TypeError, "too many button labels");
    1987                 return NULL;
    1988         }
    1989 
    1990         if (!PyArg_Parse(args, format, &m1, &m2, &m3, &b1, &b2, &b3))
    1991                 return NULL;
    1992 
    1993         Py_BEGIN_ALLOW_THREADS
    1994         rv = fl_show_choice(m1, m2, m3, nb, b1, b2, b3);
    1995         Py_END_ALLOW_THREADS
    1996         return PyInt_FromLong(rv);
     1961    char *m1, *m2, *m3, *b1, *b2, *b3;
     1962    int nb;
     1963    char *format;
     1964    long rv;
     1965
     1966    if (args == NULL || !PyTuple_Check(args)) {
     1967        PyErr_BadArgument();
     1968        return NULL;
     1969    }
     1970    nb = PyTuple_Size(args) - 3;
     1971    if (nb <= 0) {
     1972        PyErr_SetString(PyExc_TypeError,
     1973                        "need at least one button label");
     1974        return NULL;
     1975    }
     1976    if (PyInt_Check(PyTuple_GetItem(args, 3))) {
     1977        PyErr_SetString(PyExc_TypeError,
     1978                   "'number-of-buttons' argument not needed");
     1979        return NULL;
     1980    }
     1981    switch (nb) {
     1982    case 1: format = "(ssss)"; break;
     1983    case 2: format = "(sssss)"; break;
     1984    case 3: format = "(ssssss)"; break;
     1985    default:
     1986        PyErr_SetString(PyExc_TypeError, "too many button labels");
     1987        return NULL;
     1988    }
     1989
     1990    if (!PyArg_Parse(args, format, &m1, &m2, &m3, &b1, &b2, &b3))
     1991        return NULL;
     1992
     1993    Py_BEGIN_ALLOW_THREADS
     1994    rv = fl_show_choice(m1, m2, m3, nb, b1, b2, b3);
     1995    Py_END_ALLOW_THREADS
     1996    return PyInt_FromLong(rv);
    19971997}
    19981998
     
    20002000forms_show_question(PyObject *f, PyObject *args)
    20012001{
    2002         int ret;
    2003         char *a, *b, *c;
    2004 
    2005         if (!PyArg_Parse(args, "(sss)", &a, &b, &c)) return NULL;
    2006 
    2007         Py_BEGIN_ALLOW_THREADS
    2008         ret = fl_show_question(a, b, c);
    2009         Py_END_ALLOW_THREADS
    2010 
    2011         return PyInt_FromLong((long) ret);
     2002    int ret;
     2003    char *a, *b, *c;
     2004
     2005    if (!PyArg_Parse(args, "(sss)", &a, &b, &c)) return NULL;
     2006
     2007    Py_BEGIN_ALLOW_THREADS
     2008    ret = fl_show_question(a, b, c);
     2009    Py_END_ALLOW_THREADS
     2010
     2011    return PyInt_FromLong((long) ret);
    20122012}
    20132013
     
    20152015forms_show_input(PyObject *f, PyObject *args)
    20162016{
    2017         char *str;
    2018         char *a, *b;
    2019 
    2020         if (!PyArg_Parse(args, "(ss)", &a, &b)) return NULL;
    2021 
    2022         Py_BEGIN_ALLOW_THREADS
    2023         str = fl_show_input(a, b);
    2024         Py_END_ALLOW_THREADS
    2025 
    2026         if (str == NULL) {
    2027                 Py_INCREF(Py_None);
    2028                 return Py_None;
    2029         }
    2030         return PyString_FromString(str);
     2017    char *str;
     2018    char *a, *b;
     2019
     2020    if (!PyArg_Parse(args, "(ss)", &a, &b)) return NULL;
     2021
     2022    Py_BEGIN_ALLOW_THREADS
     2023    str = fl_show_input(a, b);
     2024    Py_END_ALLOW_THREADS
     2025
     2026    if (str == NULL) {
     2027        Py_INCREF(Py_None);
     2028        return Py_None;
     2029    }
     2030    return PyString_FromString(str);
    20312031}
    20322032
     
    20342034forms_file_selector(PyObject *f, PyObject *args)
    20352035{
    2036         char *str;
    2037         char *a, *b, *c, *d;
    2038 
    2039         if (!PyArg_Parse(args, "(ssss)", &a, &b, &c, &d)) return NULL;
    2040 
    2041         Py_BEGIN_ALLOW_THREADS
    2042         str = fl_show_file_selector(a, b, c, d);
    2043         Py_END_ALLOW_THREADS
    2044 
    2045         if (str == NULL) {
    2046                 Py_INCREF(Py_None);
    2047                 return Py_None;
    2048         }
    2049         return PyString_FromString(str);
     2036    char *str;
     2037    char *a, *b, *c, *d;
     2038
     2039    if (!PyArg_Parse(args, "(ssss)", &a, &b, &c, &d)) return NULL;
     2040
     2041    Py_BEGIN_ALLOW_THREADS
     2042    str = fl_show_file_selector(a, b, c, d);
     2043    Py_END_ALLOW_THREADS
     2044
     2045    if (str == NULL) {
     2046        Py_INCREF(Py_None);
     2047        return Py_None;
     2048    }
     2049    return PyString_FromString(str);
    20502050}
    20512051
     
    20542054forms_file_selector_func(PyObject *args, char *(*func)(void))
    20552055{
    2056         char *str;
    2057 
    2058         str = (*func) ();
    2059 
    2060         if (str == NULL) {
    2061                 Py_INCREF(Py_None);
    2062                 return Py_None;
    2063         }
    2064         return PyString_FromString(str);
     2056    char *str;
     2057
     2058    str = (*func) ();
     2059
     2060    if (str == NULL) {
     2061        Py_INCREF(Py_None);
     2062        return Py_None;
     2063    }
     2064    return PyString_FromString(str);
    20652065}
    20662066
     
    20682068forms_get_directory(PyObject *f, PyObject *args)
    20692069{
    2070         return forms_file_selector_func(args, fl_get_directory);
     2070    return forms_file_selector_func(args, fl_get_directory);
    20712071}
    20722072
     
    20742074forms_get_pattern(PyObject *f, PyObject *args)
    20752075{
    2076         return forms_file_selector_func(args, fl_get_pattern);
     2076    return forms_file_selector_func(args, fl_get_pattern);
    20772077}
    20782078
     
    20802080forms_get_filename(PyObject *f, PyObject *args)
    20812081{
    2082         return forms_file_selector_func(args, fl_get_filename);
     2082    return forms_file_selector_func(args, fl_get_filename);
    20832083}
    20842084
    20852085static PyMethodDef forms_methods[] = {
    20862086/* adm */
    2087         {"make_form",           forms_make_form, METH_OLDARGS},
    2088         {"activate_all_forms",  forms_activate_all_forms, METH_OLDARGS},
    2089         {"deactivate_all_forms",forms_deactivate_all_forms, METH_OLDARGS},
     2087    {"make_form",               forms_make_form, METH_OLDARGS},
     2088    {"activate_all_forms",      forms_activate_all_forms, METH_OLDARGS},
     2089    {"deactivate_all_forms",forms_deactivate_all_forms, METH_OLDARGS},
    20902090/* gl support wrappers */
    2091         {"qdevice",             forms_qdevice, METH_OLDARGS},
    2092         {"unqdevice",           forms_unqdevice, METH_OLDARGS},
    2093         {"isqueued",            forms_isqueued, METH_OLDARGS},
    2094         {"qtest",               forms_qtest, METH_OLDARGS},
    2095         {"qread",               forms_qread, METH_OLDARGS},
    2096 /*      {"blkqread",            forms_blkqread, METH_OLDARGS}, */
    2097         {"qreset",              forms_qreset, METH_NOARGS},
    2098         {"qenter",              forms_qenter, METH_OLDARGS},
    2099         {"get_mouse",           forms_get_mouse, METH_NOARGS},
    2100         {"tie",                 forms_tie, METH_OLDARGS},
    2101 /*      {"new_events",          forms_new_events, METH_OLDARGS}, */
    2102         {"color",               forms_color, METH_OLDARGS},
    2103         {"mapcolor",            forms_mapcolor, METH_OLDARGS},
    2104         {"getmcolor",           forms_getmcolor, METH_OLDARGS},
     2091    {"qdevice",                 forms_qdevice, METH_OLDARGS},
     2092    {"unqdevice",               forms_unqdevice, METH_OLDARGS},
     2093    {"isqueued",                forms_isqueued, METH_OLDARGS},
     2094    {"qtest",                   forms_qtest, METH_OLDARGS},
     2095    {"qread",                   forms_qread, METH_OLDARGS},
     2096/*      {"blkqread",            forms_blkqread, METH_OLDARGS}, */
     2097    {"qreset",                  forms_qreset, METH_NOARGS},
     2098    {"qenter",                  forms_qenter, METH_OLDARGS},
     2099    {"get_mouse",               forms_get_mouse, METH_NOARGS},
     2100    {"tie",                     forms_tie, METH_OLDARGS},
     2101/*      {"new_events",          forms_new_events, METH_OLDARGS}, */
     2102    {"color",                   forms_color, METH_OLDARGS},
     2103    {"mapcolor",                forms_mapcolor, METH_OLDARGS},
     2104    {"getmcolor",               forms_getmcolor, METH_OLDARGS},
    21052105/* interaction */
    2106         {"do_forms",            forms_do_forms, METH_NOARGS},
    2107         {"do_only_forms",       forms_do_only_forms, METH_NOARGS},
    2108         {"check_forms",         forms_check_forms, METH_NOARGS},
    2109         {"check_only_forms",    forms_check_only_forms, METH_NOARGS},
    2110         {"set_event_call_back", forms_set_event_call_back, METH_OLDARGS},
     2106    {"do_forms",                forms_do_forms, METH_NOARGS},
     2107    {"do_only_forms",           forms_do_only_forms, METH_NOARGS},
     2108    {"check_forms",             forms_check_forms, METH_NOARGS},
     2109    {"check_only_forms",        forms_check_only_forms, METH_NOARGS},
     2110    {"set_event_call_back",     forms_set_event_call_back, METH_OLDARGS},
    21112111/* goodies */
    2112         {"show_message",        forms_show_message, METH_OLDARGS},
    2113         {"show_question",       forms_show_question, METH_OLDARGS},
    2114         {"show_choice",         forms_show_choice, METH_OLDARGS},
    2115         {"show_input",          forms_show_input, METH_OLDARGS},
    2116         {"show_file_selector",  forms_file_selector, METH_OLDARGS},
    2117         {"file_selector",       forms_file_selector, METH_OLDARGS}, /* BW compat */
    2118         {"get_directory",       forms_get_directory, METH_OLDARGS},
    2119         {"get_pattern",         forms_get_pattern, METH_OLDARGS},
    2120         {"get_filename",        forms_get_filename, METH_OLDARGS},
    2121         {"set_graphics_mode",   forms_set_graphics_mode, METH_OLDARGS},
    2122         {"get_rgbmode",         forms_get_rgbmode, METH_OLDARGS},
    2123         {"show_errors",         forms_show_errors, METH_OLDARGS},
    2124         {"set_font_name",       forms_set_font_name, METH_OLDARGS},
    2125         {NULL,                  NULL}           /* sentinel */
     2112    {"show_message",            forms_show_message, METH_OLDARGS},
     2113    {"show_question",           forms_show_question, METH_OLDARGS},
     2114    {"show_choice",             forms_show_choice, METH_OLDARGS},
     2115    {"show_input",              forms_show_input, METH_OLDARGS},
     2116    {"show_file_selector",      forms_file_selector, METH_OLDARGS},
     2117    {"file_selector",           forms_file_selector, METH_OLDARGS}, /* BW compat */
     2118    {"get_directory",           forms_get_directory, METH_OLDARGS},
     2119    {"get_pattern",             forms_get_pattern, METH_OLDARGS},
     2120    {"get_filename",            forms_get_filename, METH_OLDARGS},
     2121    {"set_graphics_mode",       forms_set_graphics_mode, METH_OLDARGS},
     2122    {"get_rgbmode",             forms_get_rgbmode, METH_OLDARGS},
     2123    {"show_errors",             forms_show_errors, METH_OLDARGS},
     2124    {"set_font_name",           forms_set_font_name, METH_OLDARGS},
     2125    {NULL,                      NULL}           /* sentinel */
    21262126};
    21272127
     
    21292129initfl(void)
    21302130{
    2131    
     2131
    21322132    if (PyErr_WarnPy3k("the fl module has been removed in "
    21332133                       "Python 3.0", 2) < 0)
     2134    return;
     2135
     2136    Py_InitModule("fl", forms_methods);
     2137    if (m == NULL)
    21342138        return;
    2135    
    2136         Py_InitModule("fl", forms_methods);
    2137         if (m == NULL)
    2138                 return;
    2139         foreground();
    2140         fl_init();
    2141 }
    2142 
    2143 
    2144 
     2139    foreground();
     2140    fl_init();
     2141}
     2142
     2143
     2144
Note: See TracChangeset for help on using the changeset viewer.