LCOV - code coverage report
Current view: top level - Modules/clinic - _tkinter.c.h (source / functions) Hit Total Coverage
Test: CPython 3.12 LCOV report [commit acb105a7c1f] Lines: 125 304 41.1 %
Date: 2022-07-20 13:12:14 Functions: 9 22 40.9 %
Branches: 52 184 28.3 %

           Branch data     Line data    Source code
       1                 :            : /*[clinic input]
       2                 :            : preserve
       3                 :            : [clinic start generated code]*/
       4                 :            : 
       5                 :            : PyDoc_STRVAR(_tkinter_tkapp_eval__doc__,
       6                 :            : "eval($self, script, /)\n"
       7                 :            : "--\n"
       8                 :            : "\n");
       9                 :            : 
      10                 :            : #define _TKINTER_TKAPP_EVAL_METHODDEF    \
      11                 :            :     {"eval", (PyCFunction)_tkinter_tkapp_eval, METH_O, _tkinter_tkapp_eval__doc__},
      12                 :            : 
      13                 :            : static PyObject *
      14                 :            : _tkinter_tkapp_eval_impl(TkappObject *self, const char *script);
      15                 :            : 
      16                 :            : static PyObject *
      17                 :         24 : _tkinter_tkapp_eval(TkappObject *self, PyObject *arg)
      18                 :            : {
      19                 :         24 :     PyObject *return_value = NULL;
      20                 :            :     const char *script;
      21                 :            : 
      22         [ -  + ]:         24 :     if (!PyUnicode_Check(arg)) {
      23                 :          0 :         _PyArg_BadArgument("eval", "argument", "str", arg);
      24                 :          0 :         goto exit;
      25                 :            :     }
      26                 :            :     Py_ssize_t script_length;
      27                 :         24 :     script = PyUnicode_AsUTF8AndSize(arg, &script_length);
      28         [ -  + ]:         24 :     if (script == NULL) {
      29                 :          0 :         goto exit;
      30                 :            :     }
      31         [ -  + ]:         24 :     if (strlen(script) != (size_t)script_length) {
      32                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
      33                 :          0 :         goto exit;
      34                 :            :     }
      35                 :         24 :     return_value = _tkinter_tkapp_eval_impl(self, script);
      36                 :            : 
      37                 :         24 : exit:
      38                 :         24 :     return return_value;
      39                 :            : }
      40                 :            : 
      41                 :            : PyDoc_STRVAR(_tkinter_tkapp_evalfile__doc__,
      42                 :            : "evalfile($self, fileName, /)\n"
      43                 :            : "--\n"
      44                 :            : "\n");
      45                 :            : 
      46                 :            : #define _TKINTER_TKAPP_EVALFILE_METHODDEF    \
      47                 :            :     {"evalfile", (PyCFunction)_tkinter_tkapp_evalfile, METH_O, _tkinter_tkapp_evalfile__doc__},
      48                 :            : 
      49                 :            : static PyObject *
      50                 :            : _tkinter_tkapp_evalfile_impl(TkappObject *self, const char *fileName);
      51                 :            : 
      52                 :            : static PyObject *
      53                 :          4 : _tkinter_tkapp_evalfile(TkappObject *self, PyObject *arg)
      54                 :            : {
      55                 :          4 :     PyObject *return_value = NULL;
      56                 :            :     const char *fileName;
      57                 :            : 
      58         [ -  + ]:          4 :     if (!PyUnicode_Check(arg)) {
      59                 :          0 :         _PyArg_BadArgument("evalfile", "argument", "str", arg);
      60                 :          0 :         goto exit;
      61                 :            :     }
      62                 :            :     Py_ssize_t fileName_length;
      63                 :          4 :     fileName = PyUnicode_AsUTF8AndSize(arg, &fileName_length);
      64         [ -  + ]:          4 :     if (fileName == NULL) {
      65                 :          0 :         goto exit;
      66                 :            :     }
      67         [ -  + ]:          4 :     if (strlen(fileName) != (size_t)fileName_length) {
      68                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
      69                 :          0 :         goto exit;
      70                 :            :     }
      71                 :          4 :     return_value = _tkinter_tkapp_evalfile_impl(self, fileName);
      72                 :            : 
      73                 :          4 : exit:
      74                 :          4 :     return return_value;
      75                 :            : }
      76                 :            : 
      77                 :            : PyDoc_STRVAR(_tkinter_tkapp_record__doc__,
      78                 :            : "record($self, script, /)\n"
      79                 :            : "--\n"
      80                 :            : "\n");
      81                 :            : 
      82                 :            : #define _TKINTER_TKAPP_RECORD_METHODDEF    \
      83                 :            :     {"record", (PyCFunction)_tkinter_tkapp_record, METH_O, _tkinter_tkapp_record__doc__},
      84                 :            : 
      85                 :            : static PyObject *
      86                 :            : _tkinter_tkapp_record_impl(TkappObject *self, const char *script);
      87                 :            : 
      88                 :            : static PyObject *
      89                 :          0 : _tkinter_tkapp_record(TkappObject *self, PyObject *arg)
      90                 :            : {
      91                 :          0 :     PyObject *return_value = NULL;
      92                 :            :     const char *script;
      93                 :            : 
      94         [ #  # ]:          0 :     if (!PyUnicode_Check(arg)) {
      95                 :          0 :         _PyArg_BadArgument("record", "argument", "str", arg);
      96                 :          0 :         goto exit;
      97                 :            :     }
      98                 :            :     Py_ssize_t script_length;
      99                 :          0 :     script = PyUnicode_AsUTF8AndSize(arg, &script_length);
     100         [ #  # ]:          0 :     if (script == NULL) {
     101                 :          0 :         goto exit;
     102                 :            :     }
     103         [ #  # ]:          0 :     if (strlen(script) != (size_t)script_length) {
     104                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     105                 :          0 :         goto exit;
     106                 :            :     }
     107                 :          0 :     return_value = _tkinter_tkapp_record_impl(self, script);
     108                 :            : 
     109                 :          0 : exit:
     110                 :          0 :     return return_value;
     111                 :            : }
     112                 :            : 
     113                 :            : PyDoc_STRVAR(_tkinter_tkapp_adderrorinfo__doc__,
     114                 :            : "adderrorinfo($self, msg, /)\n"
     115                 :            : "--\n"
     116                 :            : "\n");
     117                 :            : 
     118                 :            : #define _TKINTER_TKAPP_ADDERRORINFO_METHODDEF    \
     119                 :            :     {"adderrorinfo", (PyCFunction)_tkinter_tkapp_adderrorinfo, METH_O, _tkinter_tkapp_adderrorinfo__doc__},
     120                 :            : 
     121                 :            : static PyObject *
     122                 :            : _tkinter_tkapp_adderrorinfo_impl(TkappObject *self, const char *msg);
     123                 :            : 
     124                 :            : static PyObject *
     125                 :          0 : _tkinter_tkapp_adderrorinfo(TkappObject *self, PyObject *arg)
     126                 :            : {
     127                 :          0 :     PyObject *return_value = NULL;
     128                 :            :     const char *msg;
     129                 :            : 
     130         [ #  # ]:          0 :     if (!PyUnicode_Check(arg)) {
     131                 :          0 :         _PyArg_BadArgument("adderrorinfo", "argument", "str", arg);
     132                 :          0 :         goto exit;
     133                 :            :     }
     134                 :            :     Py_ssize_t msg_length;
     135                 :          0 :     msg = PyUnicode_AsUTF8AndSize(arg, &msg_length);
     136         [ #  # ]:          0 :     if (msg == NULL) {
     137                 :          0 :         goto exit;
     138                 :            :     }
     139         [ #  # ]:          0 :     if (strlen(msg) != (size_t)msg_length) {
     140                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     141                 :          0 :         goto exit;
     142                 :            :     }
     143                 :          0 :     return_value = _tkinter_tkapp_adderrorinfo_impl(self, msg);
     144                 :            : 
     145                 :          0 : exit:
     146                 :          0 :     return return_value;
     147                 :            : }
     148                 :            : 
     149                 :            : PyDoc_STRVAR(_tkinter_tkapp_getint__doc__,
     150                 :            : "getint($self, arg, /)\n"
     151                 :            : "--\n"
     152                 :            : "\n");
     153                 :            : 
     154                 :            : #define _TKINTER_TKAPP_GETINT_METHODDEF    \
     155                 :            :     {"getint", (PyCFunction)_tkinter_tkapp_getint, METH_O, _tkinter_tkapp_getint__doc__},
     156                 :            : 
     157                 :            : PyDoc_STRVAR(_tkinter_tkapp_getdouble__doc__,
     158                 :            : "getdouble($self, arg, /)\n"
     159                 :            : "--\n"
     160                 :            : "\n");
     161                 :            : 
     162                 :            : #define _TKINTER_TKAPP_GETDOUBLE_METHODDEF    \
     163                 :            :     {"getdouble", (PyCFunction)_tkinter_tkapp_getdouble, METH_O, _tkinter_tkapp_getdouble__doc__},
     164                 :            : 
     165                 :            : PyDoc_STRVAR(_tkinter_tkapp_getboolean__doc__,
     166                 :            : "getboolean($self, arg, /)\n"
     167                 :            : "--\n"
     168                 :            : "\n");
     169                 :            : 
     170                 :            : #define _TKINTER_TKAPP_GETBOOLEAN_METHODDEF    \
     171                 :            :     {"getboolean", (PyCFunction)_tkinter_tkapp_getboolean, METH_O, _tkinter_tkapp_getboolean__doc__},
     172                 :            : 
     173                 :            : PyDoc_STRVAR(_tkinter_tkapp_exprstring__doc__,
     174                 :            : "exprstring($self, s, /)\n"
     175                 :            : "--\n"
     176                 :            : "\n");
     177                 :            : 
     178                 :            : #define _TKINTER_TKAPP_EXPRSTRING_METHODDEF    \
     179                 :            :     {"exprstring", (PyCFunction)_tkinter_tkapp_exprstring, METH_O, _tkinter_tkapp_exprstring__doc__},
     180                 :            : 
     181                 :            : static PyObject *
     182                 :            : _tkinter_tkapp_exprstring_impl(TkappObject *self, const char *s);
     183                 :            : 
     184                 :            : static PyObject *
     185                 :         22 : _tkinter_tkapp_exprstring(TkappObject *self, PyObject *arg)
     186                 :            : {
     187                 :         22 :     PyObject *return_value = NULL;
     188                 :            :     const char *s;
     189                 :            : 
     190         [ +  + ]:         22 :     if (!PyUnicode_Check(arg)) {
     191                 :          1 :         _PyArg_BadArgument("exprstring", "argument", "str", arg);
     192                 :          1 :         goto exit;
     193                 :            :     }
     194                 :            :     Py_ssize_t s_length;
     195                 :         21 :     s = PyUnicode_AsUTF8AndSize(arg, &s_length);
     196         [ -  + ]:         21 :     if (s == NULL) {
     197                 :          0 :         goto exit;
     198                 :            :     }
     199         [ -  + ]:         21 :     if (strlen(s) != (size_t)s_length) {
     200                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     201                 :          0 :         goto exit;
     202                 :            :     }
     203                 :         21 :     return_value = _tkinter_tkapp_exprstring_impl(self, s);
     204                 :            : 
     205                 :         22 : exit:
     206                 :         22 :     return return_value;
     207                 :            : }
     208                 :            : 
     209                 :            : PyDoc_STRVAR(_tkinter_tkapp_exprlong__doc__,
     210                 :            : "exprlong($self, s, /)\n"
     211                 :            : "--\n"
     212                 :            : "\n");
     213                 :            : 
     214                 :            : #define _TKINTER_TKAPP_EXPRLONG_METHODDEF    \
     215                 :            :     {"exprlong", (PyCFunction)_tkinter_tkapp_exprlong, METH_O, _tkinter_tkapp_exprlong__doc__},
     216                 :            : 
     217                 :            : static PyObject *
     218                 :            : _tkinter_tkapp_exprlong_impl(TkappObject *self, const char *s);
     219                 :            : 
     220                 :            : static PyObject *
     221                 :         19 : _tkinter_tkapp_exprlong(TkappObject *self, PyObject *arg)
     222                 :            : {
     223                 :         19 :     PyObject *return_value = NULL;
     224                 :            :     const char *s;
     225                 :            : 
     226         [ +  + ]:         19 :     if (!PyUnicode_Check(arg)) {
     227                 :          1 :         _PyArg_BadArgument("exprlong", "argument", "str", arg);
     228                 :          1 :         goto exit;
     229                 :            :     }
     230                 :            :     Py_ssize_t s_length;
     231                 :         18 :     s = PyUnicode_AsUTF8AndSize(arg, &s_length);
     232         [ -  + ]:         18 :     if (s == NULL) {
     233                 :          0 :         goto exit;
     234                 :            :     }
     235         [ -  + ]:         18 :     if (strlen(s) != (size_t)s_length) {
     236                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     237                 :          0 :         goto exit;
     238                 :            :     }
     239                 :         18 :     return_value = _tkinter_tkapp_exprlong_impl(self, s);
     240                 :            : 
     241                 :         19 : exit:
     242                 :         19 :     return return_value;
     243                 :            : }
     244                 :            : 
     245                 :            : PyDoc_STRVAR(_tkinter_tkapp_exprdouble__doc__,
     246                 :            : "exprdouble($self, s, /)\n"
     247                 :            : "--\n"
     248                 :            : "\n");
     249                 :            : 
     250                 :            : #define _TKINTER_TKAPP_EXPRDOUBLE_METHODDEF    \
     251                 :            :     {"exprdouble", (PyCFunction)_tkinter_tkapp_exprdouble, METH_O, _tkinter_tkapp_exprdouble__doc__},
     252                 :            : 
     253                 :            : static PyObject *
     254                 :            : _tkinter_tkapp_exprdouble_impl(TkappObject *self, const char *s);
     255                 :            : 
     256                 :            : static PyObject *
     257                 :         19 : _tkinter_tkapp_exprdouble(TkappObject *self, PyObject *arg)
     258                 :            : {
     259                 :         19 :     PyObject *return_value = NULL;
     260                 :            :     const char *s;
     261                 :            : 
     262         [ +  + ]:         19 :     if (!PyUnicode_Check(arg)) {
     263                 :          1 :         _PyArg_BadArgument("exprdouble", "argument", "str", arg);
     264                 :          1 :         goto exit;
     265                 :            :     }
     266                 :            :     Py_ssize_t s_length;
     267                 :         18 :     s = PyUnicode_AsUTF8AndSize(arg, &s_length);
     268         [ -  + ]:         18 :     if (s == NULL) {
     269                 :          0 :         goto exit;
     270                 :            :     }
     271         [ -  + ]:         18 :     if (strlen(s) != (size_t)s_length) {
     272                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     273                 :          0 :         goto exit;
     274                 :            :     }
     275                 :         18 :     return_value = _tkinter_tkapp_exprdouble_impl(self, s);
     276                 :            : 
     277                 :         19 : exit:
     278                 :         19 :     return return_value;
     279                 :            : }
     280                 :            : 
     281                 :            : PyDoc_STRVAR(_tkinter_tkapp_exprboolean__doc__,
     282                 :            : "exprboolean($self, s, /)\n"
     283                 :            : "--\n"
     284                 :            : "\n");
     285                 :            : 
     286                 :            : #define _TKINTER_TKAPP_EXPRBOOLEAN_METHODDEF    \
     287                 :            :     {"exprboolean", (PyCFunction)_tkinter_tkapp_exprboolean, METH_O, _tkinter_tkapp_exprboolean__doc__},
     288                 :            : 
     289                 :            : static PyObject *
     290                 :            : _tkinter_tkapp_exprboolean_impl(TkappObject *self, const char *s);
     291                 :            : 
     292                 :            : static PyObject *
     293                 :         43 : _tkinter_tkapp_exprboolean(TkappObject *self, PyObject *arg)
     294                 :            : {
     295                 :         43 :     PyObject *return_value = NULL;
     296                 :            :     const char *s;
     297                 :            : 
     298         [ +  + ]:         43 :     if (!PyUnicode_Check(arg)) {
     299                 :          1 :         _PyArg_BadArgument("exprboolean", "argument", "str", arg);
     300                 :          1 :         goto exit;
     301                 :            :     }
     302                 :            :     Py_ssize_t s_length;
     303                 :         42 :     s = PyUnicode_AsUTF8AndSize(arg, &s_length);
     304         [ -  + ]:         42 :     if (s == NULL) {
     305                 :          0 :         goto exit;
     306                 :            :     }
     307         [ -  + ]:         42 :     if (strlen(s) != (size_t)s_length) {
     308                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     309                 :          0 :         goto exit;
     310                 :            :     }
     311                 :         42 :     return_value = _tkinter_tkapp_exprboolean_impl(self, s);
     312                 :            : 
     313                 :         43 : exit:
     314                 :         43 :     return return_value;
     315                 :            : }
     316                 :            : 
     317                 :            : PyDoc_STRVAR(_tkinter_tkapp_splitlist__doc__,
     318                 :            : "splitlist($self, arg, /)\n"
     319                 :            : "--\n"
     320                 :            : "\n");
     321                 :            : 
     322                 :            : #define _TKINTER_TKAPP_SPLITLIST_METHODDEF    \
     323                 :            :     {"splitlist", (PyCFunction)_tkinter_tkapp_splitlist, METH_O, _tkinter_tkapp_splitlist__doc__},
     324                 :            : 
     325                 :            : PyDoc_STRVAR(_tkinter_tkapp_createcommand__doc__,
     326                 :            : "createcommand($self, name, func, /)\n"
     327                 :            : "--\n"
     328                 :            : "\n");
     329                 :            : 
     330                 :            : #define _TKINTER_TKAPP_CREATECOMMAND_METHODDEF    \
     331                 :            :     {"createcommand", _PyCFunction_CAST(_tkinter_tkapp_createcommand), METH_FASTCALL, _tkinter_tkapp_createcommand__doc__},
     332                 :            : 
     333                 :            : static PyObject *
     334                 :            : _tkinter_tkapp_createcommand_impl(TkappObject *self, const char *name,
     335                 :            :                                   PyObject *func);
     336                 :            : 
     337                 :            : static PyObject *
     338                 :          1 : _tkinter_tkapp_createcommand(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
     339                 :            : {
     340                 :          1 :     PyObject *return_value = NULL;
     341                 :            :     const char *name;
     342                 :            :     PyObject *func;
     343                 :            : 
     344   [ +  -  -  +  :          1 :     if (!_PyArg_CheckPositional("createcommand", nargs, 2, 2)) {
                   -  - ]
     345                 :          0 :         goto exit;
     346                 :            :     }
     347         [ -  + ]:          1 :     if (!PyUnicode_Check(args[0])) {
     348                 :          0 :         _PyArg_BadArgument("createcommand", "argument 1", "str", args[0]);
     349                 :          0 :         goto exit;
     350                 :            :     }
     351                 :            :     Py_ssize_t name_length;
     352                 :          1 :     name = PyUnicode_AsUTF8AndSize(args[0], &name_length);
     353         [ -  + ]:          1 :     if (name == NULL) {
     354                 :          0 :         goto exit;
     355                 :            :     }
     356         [ -  + ]:          1 :     if (strlen(name) != (size_t)name_length) {
     357                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     358                 :          0 :         goto exit;
     359                 :            :     }
     360                 :          1 :     func = args[1];
     361                 :          1 :     return_value = _tkinter_tkapp_createcommand_impl(self, name, func);
     362                 :            : 
     363                 :          1 : exit:
     364                 :          1 :     return return_value;
     365                 :            : }
     366                 :            : 
     367                 :            : PyDoc_STRVAR(_tkinter_tkapp_deletecommand__doc__,
     368                 :            : "deletecommand($self, name, /)\n"
     369                 :            : "--\n"
     370                 :            : "\n");
     371                 :            : 
     372                 :            : #define _TKINTER_TKAPP_DELETECOMMAND_METHODDEF    \
     373                 :            :     {"deletecommand", (PyCFunction)_tkinter_tkapp_deletecommand, METH_O, _tkinter_tkapp_deletecommand__doc__},
     374                 :            : 
     375                 :            : static PyObject *
     376                 :            : _tkinter_tkapp_deletecommand_impl(TkappObject *self, const char *name);
     377                 :            : 
     378                 :            : static PyObject *
     379                 :          1 : _tkinter_tkapp_deletecommand(TkappObject *self, PyObject *arg)
     380                 :            : {
     381                 :          1 :     PyObject *return_value = NULL;
     382                 :            :     const char *name;
     383                 :            : 
     384         [ -  + ]:          1 :     if (!PyUnicode_Check(arg)) {
     385                 :          0 :         _PyArg_BadArgument("deletecommand", "argument", "str", arg);
     386                 :          0 :         goto exit;
     387                 :            :     }
     388                 :            :     Py_ssize_t name_length;
     389                 :          1 :     name = PyUnicode_AsUTF8AndSize(arg, &name_length);
     390         [ -  + ]:          1 :     if (name == NULL) {
     391                 :          0 :         goto exit;
     392                 :            :     }
     393         [ -  + ]:          1 :     if (strlen(name) != (size_t)name_length) {
     394                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     395                 :          0 :         goto exit;
     396                 :            :     }
     397                 :          1 :     return_value = _tkinter_tkapp_deletecommand_impl(self, name);
     398                 :            : 
     399                 :          1 : exit:
     400                 :          1 :     return return_value;
     401                 :            : }
     402                 :            : 
     403                 :            : #if defined(HAVE_CREATEFILEHANDLER)
     404                 :            : 
     405                 :            : PyDoc_STRVAR(_tkinter_tkapp_createfilehandler__doc__,
     406                 :            : "createfilehandler($self, file, mask, func, /)\n"
     407                 :            : "--\n"
     408                 :            : "\n");
     409                 :            : 
     410                 :            : #define _TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF    \
     411                 :            :     {"createfilehandler", _PyCFunction_CAST(_tkinter_tkapp_createfilehandler), METH_FASTCALL, _tkinter_tkapp_createfilehandler__doc__},
     412                 :            : 
     413                 :            : static PyObject *
     414                 :            : _tkinter_tkapp_createfilehandler_impl(TkappObject *self, PyObject *file,
     415                 :            :                                       int mask, PyObject *func);
     416                 :            : 
     417                 :            : static PyObject *
     418                 :          0 : _tkinter_tkapp_createfilehandler(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
     419                 :            : {
     420                 :          0 :     PyObject *return_value = NULL;
     421                 :            :     PyObject *file;
     422                 :            :     int mask;
     423                 :            :     PyObject *func;
     424                 :            : 
     425   [ #  #  #  #  :          0 :     if (!_PyArg_CheckPositional("createfilehandler", nargs, 3, 3)) {
                   #  # ]
     426                 :          0 :         goto exit;
     427                 :            :     }
     428                 :          0 :     file = args[0];
     429                 :          0 :     mask = _PyLong_AsInt(args[1]);
     430   [ #  #  #  # ]:          0 :     if (mask == -1 && PyErr_Occurred()) {
     431                 :          0 :         goto exit;
     432                 :            :     }
     433                 :          0 :     func = args[2];
     434                 :          0 :     return_value = _tkinter_tkapp_createfilehandler_impl(self, file, mask, func);
     435                 :            : 
     436                 :          0 : exit:
     437                 :          0 :     return return_value;
     438                 :            : }
     439                 :            : 
     440                 :            : #endif /* defined(HAVE_CREATEFILEHANDLER) */
     441                 :            : 
     442                 :            : #if defined(HAVE_CREATEFILEHANDLER)
     443                 :            : 
     444                 :            : PyDoc_STRVAR(_tkinter_tkapp_deletefilehandler__doc__,
     445                 :            : "deletefilehandler($self, file, /)\n"
     446                 :            : "--\n"
     447                 :            : "\n");
     448                 :            : 
     449                 :            : #define _TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF    \
     450                 :            :     {"deletefilehandler", (PyCFunction)_tkinter_tkapp_deletefilehandler, METH_O, _tkinter_tkapp_deletefilehandler__doc__},
     451                 :            : 
     452                 :            : #endif /* defined(HAVE_CREATEFILEHANDLER) */
     453                 :            : 
     454                 :            : PyDoc_STRVAR(_tkinter_tktimertoken_deletetimerhandler__doc__,
     455                 :            : "deletetimerhandler($self, /)\n"
     456                 :            : "--\n"
     457                 :            : "\n");
     458                 :            : 
     459                 :            : #define _TKINTER_TKTIMERTOKEN_DELETETIMERHANDLER_METHODDEF    \
     460                 :            :     {"deletetimerhandler", (PyCFunction)_tkinter_tktimertoken_deletetimerhandler, METH_NOARGS, _tkinter_tktimertoken_deletetimerhandler__doc__},
     461                 :            : 
     462                 :            : static PyObject *
     463                 :            : _tkinter_tktimertoken_deletetimerhandler_impl(TkttObject *self);
     464                 :            : 
     465                 :            : static PyObject *
     466                 :          0 : _tkinter_tktimertoken_deletetimerhandler(TkttObject *self, PyObject *Py_UNUSED(ignored))
     467                 :            : {
     468                 :          0 :     return _tkinter_tktimertoken_deletetimerhandler_impl(self);
     469                 :            : }
     470                 :            : 
     471                 :            : PyDoc_STRVAR(_tkinter_tkapp_createtimerhandler__doc__,
     472                 :            : "createtimerhandler($self, milliseconds, func, /)\n"
     473                 :            : "--\n"
     474                 :            : "\n");
     475                 :            : 
     476                 :            : #define _TKINTER_TKAPP_CREATETIMERHANDLER_METHODDEF    \
     477                 :            :     {"createtimerhandler", _PyCFunction_CAST(_tkinter_tkapp_createtimerhandler), METH_FASTCALL, _tkinter_tkapp_createtimerhandler__doc__},
     478                 :            : 
     479                 :            : static PyObject *
     480                 :            : _tkinter_tkapp_createtimerhandler_impl(TkappObject *self, int milliseconds,
     481                 :            :                                        PyObject *func);
     482                 :            : 
     483                 :            : static PyObject *
     484                 :          0 : _tkinter_tkapp_createtimerhandler(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
     485                 :            : {
     486                 :          0 :     PyObject *return_value = NULL;
     487                 :            :     int milliseconds;
     488                 :            :     PyObject *func;
     489                 :            : 
     490   [ #  #  #  #  :          0 :     if (!_PyArg_CheckPositional("createtimerhandler", nargs, 2, 2)) {
                   #  # ]
     491                 :          0 :         goto exit;
     492                 :            :     }
     493                 :          0 :     milliseconds = _PyLong_AsInt(args[0]);
     494   [ #  #  #  # ]:          0 :     if (milliseconds == -1 && PyErr_Occurred()) {
     495                 :          0 :         goto exit;
     496                 :            :     }
     497                 :          0 :     func = args[1];
     498                 :          0 :     return_value = _tkinter_tkapp_createtimerhandler_impl(self, milliseconds, func);
     499                 :            : 
     500                 :          0 : exit:
     501                 :          0 :     return return_value;
     502                 :            : }
     503                 :            : 
     504                 :            : PyDoc_STRVAR(_tkinter_tkapp_mainloop__doc__,
     505                 :            : "mainloop($self, threshold=0, /)\n"
     506                 :            : "--\n"
     507                 :            : "\n");
     508                 :            : 
     509                 :            : #define _TKINTER_TKAPP_MAINLOOP_METHODDEF    \
     510                 :            :     {"mainloop", _PyCFunction_CAST(_tkinter_tkapp_mainloop), METH_FASTCALL, _tkinter_tkapp_mainloop__doc__},
     511                 :            : 
     512                 :            : static PyObject *
     513                 :            : _tkinter_tkapp_mainloop_impl(TkappObject *self, int threshold);
     514                 :            : 
     515                 :            : static PyObject *
     516                 :          0 : _tkinter_tkapp_mainloop(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
     517                 :            : {
     518                 :          0 :     PyObject *return_value = NULL;
     519                 :          0 :     int threshold = 0;
     520                 :            : 
     521   [ #  #  #  #  :          0 :     if (!_PyArg_CheckPositional("mainloop", nargs, 0, 1)) {
                   #  # ]
     522                 :          0 :         goto exit;
     523                 :            :     }
     524         [ #  # ]:          0 :     if (nargs < 1) {
     525                 :          0 :         goto skip_optional;
     526                 :            :     }
     527                 :          0 :     threshold = _PyLong_AsInt(args[0]);
     528   [ #  #  #  # ]:          0 :     if (threshold == -1 && PyErr_Occurred()) {
     529                 :          0 :         goto exit;
     530                 :            :     }
     531                 :          0 : skip_optional:
     532                 :          0 :     return_value = _tkinter_tkapp_mainloop_impl(self, threshold);
     533                 :            : 
     534                 :          0 : exit:
     535                 :          0 :     return return_value;
     536                 :            : }
     537                 :            : 
     538                 :            : PyDoc_STRVAR(_tkinter_tkapp_dooneevent__doc__,
     539                 :            : "dooneevent($self, flags=0, /)\n"
     540                 :            : "--\n"
     541                 :            : "\n");
     542                 :            : 
     543                 :            : #define _TKINTER_TKAPP_DOONEEVENT_METHODDEF    \
     544                 :            :     {"dooneevent", _PyCFunction_CAST(_tkinter_tkapp_dooneevent), METH_FASTCALL, _tkinter_tkapp_dooneevent__doc__},
     545                 :            : 
     546                 :            : static PyObject *
     547                 :            : _tkinter_tkapp_dooneevent_impl(TkappObject *self, int flags);
     548                 :            : 
     549                 :            : static PyObject *
     550                 :          0 : _tkinter_tkapp_dooneevent(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
     551                 :            : {
     552                 :          0 :     PyObject *return_value = NULL;
     553                 :          0 :     int flags = 0;
     554                 :            : 
     555   [ #  #  #  #  :          0 :     if (!_PyArg_CheckPositional("dooneevent", nargs, 0, 1)) {
                   #  # ]
     556                 :          0 :         goto exit;
     557                 :            :     }
     558         [ #  # ]:          0 :     if (nargs < 1) {
     559                 :          0 :         goto skip_optional;
     560                 :            :     }
     561                 :          0 :     flags = _PyLong_AsInt(args[0]);
     562   [ #  #  #  # ]:          0 :     if (flags == -1 && PyErr_Occurred()) {
     563                 :          0 :         goto exit;
     564                 :            :     }
     565                 :          0 : skip_optional:
     566                 :          0 :     return_value = _tkinter_tkapp_dooneevent_impl(self, flags);
     567                 :            : 
     568                 :          0 : exit:
     569                 :          0 :     return return_value;
     570                 :            : }
     571                 :            : 
     572                 :            : PyDoc_STRVAR(_tkinter_tkapp_quit__doc__,
     573                 :            : "quit($self, /)\n"
     574                 :            : "--\n"
     575                 :            : "\n");
     576                 :            : 
     577                 :            : #define _TKINTER_TKAPP_QUIT_METHODDEF    \
     578                 :            :     {"quit", (PyCFunction)_tkinter_tkapp_quit, METH_NOARGS, _tkinter_tkapp_quit__doc__},
     579                 :            : 
     580                 :            : static PyObject *
     581                 :            : _tkinter_tkapp_quit_impl(TkappObject *self);
     582                 :            : 
     583                 :            : static PyObject *
     584                 :          0 : _tkinter_tkapp_quit(TkappObject *self, PyObject *Py_UNUSED(ignored))
     585                 :            : {
     586                 :          0 :     return _tkinter_tkapp_quit_impl(self);
     587                 :            : }
     588                 :            : 
     589                 :            : PyDoc_STRVAR(_tkinter_tkapp_interpaddr__doc__,
     590                 :            : "interpaddr($self, /)\n"
     591                 :            : "--\n"
     592                 :            : "\n");
     593                 :            : 
     594                 :            : #define _TKINTER_TKAPP_INTERPADDR_METHODDEF    \
     595                 :            :     {"interpaddr", (PyCFunction)_tkinter_tkapp_interpaddr, METH_NOARGS, _tkinter_tkapp_interpaddr__doc__},
     596                 :            : 
     597                 :            : static PyObject *
     598                 :            : _tkinter_tkapp_interpaddr_impl(TkappObject *self);
     599                 :            : 
     600                 :            : static PyObject *
     601                 :          0 : _tkinter_tkapp_interpaddr(TkappObject *self, PyObject *Py_UNUSED(ignored))
     602                 :            : {
     603                 :          0 :     return _tkinter_tkapp_interpaddr_impl(self);
     604                 :            : }
     605                 :            : 
     606                 :            : PyDoc_STRVAR(_tkinter_tkapp_loadtk__doc__,
     607                 :            : "loadtk($self, /)\n"
     608                 :            : "--\n"
     609                 :            : "\n");
     610                 :            : 
     611                 :            : #define _TKINTER_TKAPP_LOADTK_METHODDEF    \
     612                 :            :     {"loadtk", (PyCFunction)_tkinter_tkapp_loadtk, METH_NOARGS, _tkinter_tkapp_loadtk__doc__},
     613                 :            : 
     614                 :            : static PyObject *
     615                 :            : _tkinter_tkapp_loadtk_impl(TkappObject *self);
     616                 :            : 
     617                 :            : static PyObject *
     618                 :          0 : _tkinter_tkapp_loadtk(TkappObject *self, PyObject *Py_UNUSED(ignored))
     619                 :            : {
     620                 :          0 :     return _tkinter_tkapp_loadtk_impl(self);
     621                 :            : }
     622                 :            : 
     623                 :            : PyDoc_STRVAR(_tkinter_tkapp_willdispatch__doc__,
     624                 :            : "willdispatch($self, /)\n"
     625                 :            : "--\n"
     626                 :            : "\n");
     627                 :            : 
     628                 :            : #define _TKINTER_TKAPP_WILLDISPATCH_METHODDEF    \
     629                 :            :     {"willdispatch", (PyCFunction)_tkinter_tkapp_willdispatch, METH_NOARGS, _tkinter_tkapp_willdispatch__doc__},
     630                 :            : 
     631                 :            : static PyObject *
     632                 :            : _tkinter_tkapp_willdispatch_impl(TkappObject *self);
     633                 :            : 
     634                 :            : static PyObject *
     635                 :          0 : _tkinter_tkapp_willdispatch(TkappObject *self, PyObject *Py_UNUSED(ignored))
     636                 :            : {
     637                 :          0 :     return _tkinter_tkapp_willdispatch_impl(self);
     638                 :            : }
     639                 :            : 
     640                 :            : PyDoc_STRVAR(_tkinter__flatten__doc__,
     641                 :            : "_flatten($module, item, /)\n"
     642                 :            : "--\n"
     643                 :            : "\n");
     644                 :            : 
     645                 :            : #define _TKINTER__FLATTEN_METHODDEF    \
     646                 :            :     {"_flatten", (PyCFunction)_tkinter__flatten, METH_O, _tkinter__flatten__doc__},
     647                 :            : 
     648                 :            : PyDoc_STRVAR(_tkinter_create__doc__,
     649                 :            : "create($module, screenName=None, baseName=\'\', className=\'Tk\',\n"
     650                 :            : "       interactive=False, wantobjects=False, wantTk=True, sync=False,\n"
     651                 :            : "       use=None, /)\n"
     652                 :            : "--\n"
     653                 :            : "\n"
     654                 :            : "\n"
     655                 :            : "\n"
     656                 :            : "  wantTk\n"
     657                 :            : "    if false, then Tk_Init() doesn\'t get called\n"
     658                 :            : "  sync\n"
     659                 :            : "    if true, then pass -sync to wish\n"
     660                 :            : "  use\n"
     661                 :            : "    if not None, then pass -use to wish");
     662                 :            : 
     663                 :            : #define _TKINTER_CREATE_METHODDEF    \
     664                 :            :     {"create", _PyCFunction_CAST(_tkinter_create), METH_FASTCALL, _tkinter_create__doc__},
     665                 :            : 
     666                 :            : static PyObject *
     667                 :            : _tkinter_create_impl(PyObject *module, const char *screenName,
     668                 :            :                      const char *baseName, const char *className,
     669                 :            :                      int interactive, int wantobjects, int wantTk, int sync,
     670                 :            :                      const char *use);
     671                 :            : 
     672                 :            : static PyObject *
     673                 :         42 : _tkinter_create(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
     674                 :            : {
     675                 :         42 :     PyObject *return_value = NULL;
     676                 :         42 :     const char *screenName = NULL;
     677                 :         42 :     const char *baseName = "";
     678                 :         42 :     const char *className = "Tk";
     679                 :         42 :     int interactive = 0;
     680                 :         42 :     int wantobjects = 0;
     681                 :         42 :     int wantTk = 1;
     682                 :         42 :     int sync = 0;
     683                 :         42 :     const char *use = NULL;
     684                 :            : 
     685   [ +  -  -  +  :         42 :     if (!_PyArg_CheckPositional("create", nargs, 0, 8)) {
                   -  - ]
     686                 :          0 :         goto exit;
     687                 :            :     }
     688         [ -  + ]:         42 :     if (nargs < 1) {
     689                 :          0 :         goto skip_optional;
     690                 :            :     }
     691         [ +  - ]:         42 :     if (args[0] == Py_None) {
     692                 :         42 :         screenName = NULL;
     693                 :            :     }
     694         [ #  # ]:          0 :     else if (PyUnicode_Check(args[0])) {
     695                 :            :         Py_ssize_t screenName_length;
     696                 :          0 :         screenName = PyUnicode_AsUTF8AndSize(args[0], &screenName_length);
     697         [ #  # ]:          0 :         if (screenName == NULL) {
     698                 :          0 :             goto exit;
     699                 :            :         }
     700         [ #  # ]:          0 :         if (strlen(screenName) != (size_t)screenName_length) {
     701                 :          0 :             PyErr_SetString(PyExc_ValueError, "embedded null character");
     702                 :          0 :             goto exit;
     703                 :            :         }
     704                 :            :     }
     705                 :            :     else {
     706                 :          0 :         _PyArg_BadArgument("create", "argument 1", "str or None", args[0]);
     707                 :          0 :         goto exit;
     708                 :            :     }
     709         [ -  + ]:         42 :     if (nargs < 2) {
     710                 :          0 :         goto skip_optional;
     711                 :            :     }
     712         [ -  + ]:         42 :     if (!PyUnicode_Check(args[1])) {
     713                 :          0 :         _PyArg_BadArgument("create", "argument 2", "str", args[1]);
     714                 :          0 :         goto exit;
     715                 :            :     }
     716                 :            :     Py_ssize_t baseName_length;
     717                 :         42 :     baseName = PyUnicode_AsUTF8AndSize(args[1], &baseName_length);
     718         [ -  + ]:         42 :     if (baseName == NULL) {
     719                 :          0 :         goto exit;
     720                 :            :     }
     721         [ -  + ]:         42 :     if (strlen(baseName) != (size_t)baseName_length) {
     722                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     723                 :          0 :         goto exit;
     724                 :            :     }
     725         [ -  + ]:         42 :     if (nargs < 3) {
     726                 :          0 :         goto skip_optional;
     727                 :            :     }
     728         [ -  + ]:         42 :     if (!PyUnicode_Check(args[2])) {
     729                 :          0 :         _PyArg_BadArgument("create", "argument 3", "str", args[2]);
     730                 :          0 :         goto exit;
     731                 :            :     }
     732                 :            :     Py_ssize_t className_length;
     733                 :         42 :     className = PyUnicode_AsUTF8AndSize(args[2], &className_length);
     734         [ -  + ]:         42 :     if (className == NULL) {
     735                 :          0 :         goto exit;
     736                 :            :     }
     737         [ -  + ]:         42 :     if (strlen(className) != (size_t)className_length) {
     738                 :          0 :         PyErr_SetString(PyExc_ValueError, "embedded null character");
     739                 :          0 :         goto exit;
     740                 :            :     }
     741         [ -  + ]:         42 :     if (nargs < 4) {
     742                 :          0 :         goto skip_optional;
     743                 :            :     }
     744                 :         42 :     interactive = _PyLong_AsInt(args[3]);
     745   [ -  +  -  - ]:         42 :     if (interactive == -1 && PyErr_Occurred()) {
     746                 :          0 :         goto exit;
     747                 :            :     }
     748         [ -  + ]:         42 :     if (nargs < 5) {
     749                 :          0 :         goto skip_optional;
     750                 :            :     }
     751                 :         42 :     wantobjects = _PyLong_AsInt(args[4]);
     752   [ -  +  -  - ]:         42 :     if (wantobjects == -1 && PyErr_Occurred()) {
     753                 :          0 :         goto exit;
     754                 :            :     }
     755         [ -  + ]:         42 :     if (nargs < 6) {
     756                 :          0 :         goto skip_optional;
     757                 :            :     }
     758                 :         42 :     wantTk = _PyLong_AsInt(args[5]);
     759   [ -  +  -  - ]:         42 :     if (wantTk == -1 && PyErr_Occurred()) {
     760                 :          0 :         goto exit;
     761                 :            :     }
     762         [ -  + ]:         42 :     if (nargs < 7) {
     763                 :          0 :         goto skip_optional;
     764                 :            :     }
     765                 :         42 :     sync = _PyLong_AsInt(args[6]);
     766   [ -  +  -  - ]:         42 :     if (sync == -1 && PyErr_Occurred()) {
     767                 :          0 :         goto exit;
     768                 :            :     }
     769         [ -  + ]:         42 :     if (nargs < 8) {
     770                 :          0 :         goto skip_optional;
     771                 :            :     }
     772         [ +  - ]:         42 :     if (args[7] == Py_None) {
     773                 :         42 :         use = NULL;
     774                 :            :     }
     775         [ #  # ]:          0 :     else if (PyUnicode_Check(args[7])) {
     776                 :            :         Py_ssize_t use_length;
     777                 :          0 :         use = PyUnicode_AsUTF8AndSize(args[7], &use_length);
     778         [ #  # ]:          0 :         if (use == NULL) {
     779                 :          0 :             goto exit;
     780                 :            :         }
     781         [ #  # ]:          0 :         if (strlen(use) != (size_t)use_length) {
     782                 :          0 :             PyErr_SetString(PyExc_ValueError, "embedded null character");
     783                 :          0 :             goto exit;
     784                 :            :         }
     785                 :            :     }
     786                 :            :     else {
     787                 :          0 :         _PyArg_BadArgument("create", "argument 8", "str or None", args[7]);
     788                 :          0 :         goto exit;
     789                 :            :     }
     790                 :         42 : skip_optional:
     791                 :         42 :     return_value = _tkinter_create_impl(module, screenName, baseName, className, interactive, wantobjects, wantTk, sync, use);
     792                 :            : 
     793                 :         42 : exit:
     794                 :         42 :     return return_value;
     795                 :            : }
     796                 :            : 
     797                 :            : PyDoc_STRVAR(_tkinter_setbusywaitinterval__doc__,
     798                 :            : "setbusywaitinterval($module, new_val, /)\n"
     799                 :            : "--\n"
     800                 :            : "\n"
     801                 :            : "Set the busy-wait interval in milliseconds between successive calls to Tcl_DoOneEvent in a threaded Python interpreter.\n"
     802                 :            : "\n"
     803                 :            : "It should be set to a divisor of the maximum time between frames in an animation.");
     804                 :            : 
     805                 :            : #define _TKINTER_SETBUSYWAITINTERVAL_METHODDEF    \
     806                 :            :     {"setbusywaitinterval", (PyCFunction)_tkinter_setbusywaitinterval, METH_O, _tkinter_setbusywaitinterval__doc__},
     807                 :            : 
     808                 :            : static PyObject *
     809                 :            : _tkinter_setbusywaitinterval_impl(PyObject *module, int new_val);
     810                 :            : 
     811                 :            : static PyObject *
     812                 :          0 : _tkinter_setbusywaitinterval(PyObject *module, PyObject *arg)
     813                 :            : {
     814                 :          0 :     PyObject *return_value = NULL;
     815                 :            :     int new_val;
     816                 :            : 
     817                 :          0 :     new_val = _PyLong_AsInt(arg);
     818   [ #  #  #  # ]:          0 :     if (new_val == -1 && PyErr_Occurred()) {
     819                 :          0 :         goto exit;
     820                 :            :     }
     821                 :          0 :     return_value = _tkinter_setbusywaitinterval_impl(module, new_val);
     822                 :            : 
     823                 :          0 : exit:
     824                 :          0 :     return return_value;
     825                 :            : }
     826                 :            : 
     827                 :            : PyDoc_STRVAR(_tkinter_getbusywaitinterval__doc__,
     828                 :            : "getbusywaitinterval($module, /)\n"
     829                 :            : "--\n"
     830                 :            : "\n"
     831                 :            : "Return the current busy-wait interval between successive calls to Tcl_DoOneEvent in a threaded Python interpreter.");
     832                 :            : 
     833                 :            : #define _TKINTER_GETBUSYWAITINTERVAL_METHODDEF    \
     834                 :            :     {"getbusywaitinterval", (PyCFunction)_tkinter_getbusywaitinterval, METH_NOARGS, _tkinter_getbusywaitinterval__doc__},
     835                 :            : 
     836                 :            : static int
     837                 :            : _tkinter_getbusywaitinterval_impl(PyObject *module);
     838                 :            : 
     839                 :            : static PyObject *
     840                 :          0 : _tkinter_getbusywaitinterval(PyObject *module, PyObject *Py_UNUSED(ignored))
     841                 :            : {
     842                 :          0 :     PyObject *return_value = NULL;
     843                 :            :     int _return_value;
     844                 :            : 
     845                 :          0 :     _return_value = _tkinter_getbusywaitinterval_impl(module);
     846   [ #  #  #  # ]:          0 :     if ((_return_value == -1) && PyErr_Occurred()) {
     847                 :          0 :         goto exit;
     848                 :            :     }
     849                 :          0 :     return_value = PyLong_FromLong((long)_return_value);
     850                 :            : 
     851                 :          0 : exit:
     852                 :          0 :     return return_value;
     853                 :            : }
     854                 :            : 
     855                 :            : #ifndef _TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF
     856                 :            :     #define _TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF
     857                 :            : #endif /* !defined(_TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF) */
     858                 :            : 
     859                 :            : #ifndef _TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF
     860                 :            :     #define _TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF
     861                 :            : #endif /* !defined(_TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF) */
     862                 :            : /*[clinic end generated code: output=b0667ac928eb0c28 input=a9049054013a1b77]*/

Generated by: LCOV version 1.14