Mercurial > vim
comparison src/if_python.c @ 4972:537bbfff0c5c v7.3.1231
updated for version 7.3.1231
Problem: Python: use of numbers not consistent.
Solution: Add support for Number protocol. (ZyX)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sun, 23 Jun 2013 14:16:57 +0200 |
parents | f5c822e5a0eb |
children | 39980afcf54a |
comparison
equal
deleted
inserted
replaced
4971:7faa16c489af | 4972:537bbfff0c5c |
---|---|
218 # define PyObject_HasAttrString dll_PyObject_HasAttrString | 218 # define PyObject_HasAttrString dll_PyObject_HasAttrString |
219 # define PyObject_SetAttrString dll_PyObject_SetAttrString | 219 # define PyObject_SetAttrString dll_PyObject_SetAttrString |
220 # define PyObject_CallFunctionObjArgs dll_PyObject_CallFunctionObjArgs | 220 # define PyObject_CallFunctionObjArgs dll_PyObject_CallFunctionObjArgs |
221 # define PyObject_CallFunction dll_PyObject_CallFunction | 221 # define PyObject_CallFunction dll_PyObject_CallFunction |
222 # define PyObject_Call dll_PyObject_Call | 222 # define PyObject_Call dll_PyObject_Call |
223 # define PyObject_Repr dll_PyObject_Repr | |
223 # define PyString_AsString dll_PyString_AsString | 224 # define PyString_AsString dll_PyString_AsString |
224 # define PyString_AsStringAndSize dll_PyString_AsStringAndSize | 225 # define PyString_AsStringAndSize dll_PyString_AsStringAndSize |
225 # define PyString_FromString dll_PyString_FromString | 226 # define PyString_FromString dll_PyString_FromString |
226 # define PyString_FromFormat dll_PyString_FromFormat | 227 # define PyString_FromFormat dll_PyString_FromFormat |
227 # define PyString_FromStringAndSize dll_PyString_FromStringAndSize | 228 # define PyString_FromStringAndSize dll_PyString_FromStringAndSize |
231 # undef PyUnicode_AsEncodedString | 232 # undef PyUnicode_AsEncodedString |
232 # define PyUnicode_AsEncodedString py_PyUnicode_AsEncodedString | 233 # define PyUnicode_AsEncodedString py_PyUnicode_AsEncodedString |
233 # define PyFloat_AsDouble dll_PyFloat_AsDouble | 234 # define PyFloat_AsDouble dll_PyFloat_AsDouble |
234 # define PyFloat_FromDouble dll_PyFloat_FromDouble | 235 # define PyFloat_FromDouble dll_PyFloat_FromDouble |
235 # define PyFloat_Type (*dll_PyFloat_Type) | 236 # define PyFloat_Type (*dll_PyFloat_Type) |
237 # define PyNumber_Check dll_PyNumber_Check | |
238 # define PyNumber_Long dll_PyNumber_Long | |
236 # define PyImport_AddModule (*dll_PyImport_AddModule) | 239 # define PyImport_AddModule (*dll_PyImport_AddModule) |
237 # define PySys_SetObject dll_PySys_SetObject | 240 # define PySys_SetObject dll_PySys_SetObject |
238 # define PySys_GetObject dll_PySys_GetObject | 241 # define PySys_GetObject dll_PySys_GetObject |
239 # define PySys_SetArgv dll_PySys_SetArgv | 242 # define PySys_SetArgv dll_PySys_SetArgv |
240 # define PyType_Type (*dll_PyType_Type) | 243 # define PyType_Type (*dll_PyType_Type) |
358 static int (*dll_PyObject_HasAttrString)(PyObject *, const char *); | 361 static int (*dll_PyObject_HasAttrString)(PyObject *, const char *); |
359 static PyObject* (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); | 362 static PyObject* (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); |
360 static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...); | 363 static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...); |
361 static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...); | 364 static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...); |
362 static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *); | 365 static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *); |
366 static PyObject* (*dll_PyObject_Repr)(PyObject *); | |
363 static char*(*dll_PyString_AsString)(PyObject *); | 367 static char*(*dll_PyString_AsString)(PyObject *); |
364 static int(*dll_PyString_AsStringAndSize)(PyObject *, char **, int *); | 368 static int(*dll_PyString_AsStringAndSize)(PyObject *, char **, int *); |
365 static PyObject*(*dll_PyString_FromString)(const char *); | 369 static PyObject*(*dll_PyString_FromString)(const char *); |
366 static PyObject*(*dll_PyString_FromFormat)(const char *, ...); | 370 static PyObject*(*dll_PyString_FromFormat)(const char *, ...); |
367 static PyObject*(*dll_PyString_FromStringAndSize)(const char *, PyInt); | 371 static PyObject*(*dll_PyString_FromStringAndSize)(const char *, PyInt); |
370 static PyTypeObject* dll_PyUnicode_Type; | 374 static PyTypeObject* dll_PyUnicode_Type; |
371 static PyObject *(*py_PyUnicode_AsEncodedString)(PyObject *, char *, char *); | 375 static PyObject *(*py_PyUnicode_AsEncodedString)(PyObject *, char *, char *); |
372 static double(*dll_PyFloat_AsDouble)(PyObject *); | 376 static double(*dll_PyFloat_AsDouble)(PyObject *); |
373 static PyObject*(*dll_PyFloat_FromDouble)(double); | 377 static PyObject*(*dll_PyFloat_FromDouble)(double); |
374 static PyTypeObject* dll_PyFloat_Type; | 378 static PyTypeObject* dll_PyFloat_Type; |
379 static int(*dll_PyNumber_Check)(PyObject *); | |
380 static PyObject*(*dll_PyNumber_Long)(PyObject *); | |
375 static int(*dll_PySys_SetObject)(char *, PyObject *); | 381 static int(*dll_PySys_SetObject)(char *, PyObject *); |
376 static PyObject *(*dll_PySys_GetObject)(char *); | 382 static PyObject *(*dll_PySys_GetObject)(char *); |
377 static int(*dll_PySys_SetArgv)(int, char **); | 383 static int(*dll_PySys_SetArgv)(int, char **); |
378 static PyTypeObject* dll_PyType_Type; | 384 static PyTypeObject* dll_PyType_Type; |
379 static int (*dll_PyType_Ready)(PyTypeObject *type); | 385 static int (*dll_PyType_Ready)(PyTypeObject *type); |
438 static PyObject *imp_PyExc_KeyboardInterrupt; | 444 static PyObject *imp_PyExc_KeyboardInterrupt; |
439 static PyObject *imp_PyExc_TypeError; | 445 static PyObject *imp_PyExc_TypeError; |
440 static PyObject *imp_PyExc_ValueError; | 446 static PyObject *imp_PyExc_ValueError; |
441 static PyObject *imp_PyExc_RuntimeError; | 447 static PyObject *imp_PyExc_RuntimeError; |
442 static PyObject *imp_PyExc_ImportError; | 448 static PyObject *imp_PyExc_ImportError; |
449 static PyObject *imp_PyExc_OverflowError; | |
443 | 450 |
444 # define PyExc_AttributeError imp_PyExc_AttributeError | 451 # define PyExc_AttributeError imp_PyExc_AttributeError |
445 # define PyExc_IndexError imp_PyExc_IndexError | 452 # define PyExc_IndexError imp_PyExc_IndexError |
446 # define PyExc_KeyError imp_PyExc_KeyError | 453 # define PyExc_KeyError imp_PyExc_KeyError |
447 # define PyExc_KeyboardInterrupt imp_PyExc_KeyboardInterrupt | 454 # define PyExc_KeyboardInterrupt imp_PyExc_KeyboardInterrupt |
448 # define PyExc_TypeError imp_PyExc_TypeError | 455 # define PyExc_TypeError imp_PyExc_TypeError |
449 # define PyExc_ValueError imp_PyExc_ValueError | 456 # define PyExc_ValueError imp_PyExc_ValueError |
450 # define PyExc_RuntimeError imp_PyExc_RuntimeError | 457 # define PyExc_RuntimeError imp_PyExc_RuntimeError |
451 # define PyExc_ImportError imp_PyExc_ImportError | 458 # define PyExc_ImportError imp_PyExc_ImportError |
459 # define PyExc_OverflowError imp_PyExc_OverflowError | |
452 | 460 |
453 /* | 461 /* |
454 * Table of name to function pointer of python. | 462 * Table of name to function pointer of python. |
455 */ | 463 */ |
456 # define PYTHON_PROC FARPROC | 464 # define PYTHON_PROC FARPROC |
531 {"PyObject_HasAttrString", (PYTHON_PROC*)&dll_PyObject_HasAttrString}, | 539 {"PyObject_HasAttrString", (PYTHON_PROC*)&dll_PyObject_HasAttrString}, |
532 {"PyObject_SetAttrString", (PYTHON_PROC*)&dll_PyObject_SetAttrString}, | 540 {"PyObject_SetAttrString", (PYTHON_PROC*)&dll_PyObject_SetAttrString}, |
533 {"PyObject_CallFunctionObjArgs", (PYTHON_PROC*)&dll_PyObject_CallFunctionObjArgs}, | 541 {"PyObject_CallFunctionObjArgs", (PYTHON_PROC*)&dll_PyObject_CallFunctionObjArgs}, |
534 {"PyObject_CallFunction", (PYTHON_PROC*)&dll_PyObject_CallFunction}, | 542 {"PyObject_CallFunction", (PYTHON_PROC*)&dll_PyObject_CallFunction}, |
535 {"PyObject_Call", (PYTHON_PROC*)&dll_PyObject_Call}, | 543 {"PyObject_Call", (PYTHON_PROC*)&dll_PyObject_Call}, |
544 {"PyObject_Repr", (PYTHON_PROC*)&dll_PyObject_Repr}, | |
536 {"PyString_AsString", (PYTHON_PROC*)&dll_PyString_AsString}, | 545 {"PyString_AsString", (PYTHON_PROC*)&dll_PyString_AsString}, |
537 {"PyString_AsStringAndSize", (PYTHON_PROC*)&dll_PyString_AsStringAndSize}, | 546 {"PyString_AsStringAndSize", (PYTHON_PROC*)&dll_PyString_AsStringAndSize}, |
538 {"PyString_FromString", (PYTHON_PROC*)&dll_PyString_FromString}, | 547 {"PyString_FromString", (PYTHON_PROC*)&dll_PyString_FromString}, |
539 {"PyString_FromFormat", (PYTHON_PROC*)&dll_PyString_FromFormat}, | 548 {"PyString_FromFormat", (PYTHON_PROC*)&dll_PyString_FromFormat}, |
540 {"PyString_FromStringAndSize", (PYTHON_PROC*)&dll_PyString_FromStringAndSize}, | 549 {"PyString_FromStringAndSize", (PYTHON_PROC*)&dll_PyString_FromStringAndSize}, |
543 {"PyUnicode_Type", (PYTHON_PROC*)&dll_PyUnicode_Type}, | 552 {"PyUnicode_Type", (PYTHON_PROC*)&dll_PyUnicode_Type}, |
544 {"PyFloat_Type", (PYTHON_PROC*)&dll_PyFloat_Type}, | 553 {"PyFloat_Type", (PYTHON_PROC*)&dll_PyFloat_Type}, |
545 {"PyFloat_AsDouble", (PYTHON_PROC*)&dll_PyFloat_AsDouble}, | 554 {"PyFloat_AsDouble", (PYTHON_PROC*)&dll_PyFloat_AsDouble}, |
546 {"PyFloat_FromDouble", (PYTHON_PROC*)&dll_PyFloat_FromDouble}, | 555 {"PyFloat_FromDouble", (PYTHON_PROC*)&dll_PyFloat_FromDouble}, |
547 {"PyImport_AddModule", (PYTHON_PROC*)&dll_PyImport_AddModule}, | 556 {"PyImport_AddModule", (PYTHON_PROC*)&dll_PyImport_AddModule}, |
557 {"PyNumber_Check", (PYTHON_PROC*)&dll_PyNumber_Check}, | |
558 {"PyNumber_Long", (PYTHON_PROC*)&dll_PyNumber_Long}, | |
548 {"PySys_SetObject", (PYTHON_PROC*)&dll_PySys_SetObject}, | 559 {"PySys_SetObject", (PYTHON_PROC*)&dll_PySys_SetObject}, |
549 {"PySys_GetObject", (PYTHON_PROC*)&dll_PySys_GetObject}, | 560 {"PySys_GetObject", (PYTHON_PROC*)&dll_PySys_GetObject}, |
550 {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv}, | 561 {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv}, |
551 {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type}, | 562 {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type}, |
552 {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready}, | 563 {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready}, |
720 imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt"); | 731 imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt"); |
721 imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError"); | 732 imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError"); |
722 imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError"); | 733 imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError"); |
723 imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError"); | 734 imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError"); |
724 imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError"); | 735 imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError"); |
736 imp_PyExc_OverflowError = PyDict_GetItemString(exdict, "OverflowError"); | |
725 Py_XINCREF(imp_PyExc_AttributeError); | 737 Py_XINCREF(imp_PyExc_AttributeError); |
726 Py_XINCREF(imp_PyExc_IndexError); | 738 Py_XINCREF(imp_PyExc_IndexError); |
727 Py_XINCREF(imp_PyExc_KeyError); | 739 Py_XINCREF(imp_PyExc_KeyError); |
728 Py_XINCREF(imp_PyExc_KeyboardInterrupt); | 740 Py_XINCREF(imp_PyExc_KeyboardInterrupt); |
729 Py_XINCREF(imp_PyExc_TypeError); | 741 Py_XINCREF(imp_PyExc_TypeError); |
730 Py_XINCREF(imp_PyExc_ValueError); | 742 Py_XINCREF(imp_PyExc_ValueError); |
731 Py_XINCREF(imp_PyExc_RuntimeError); | 743 Py_XINCREF(imp_PyExc_RuntimeError); |
732 Py_XINCREF(imp_PyExc_ImportError); | 744 Py_XINCREF(imp_PyExc_ImportError); |
745 Py_XINCREF(imp_PyExc_OverflowError); | |
733 Py_XDECREF(exmod); | 746 Py_XDECREF(exmod); |
734 } | 747 } |
735 #endif /* DYNAMIC_PYTHON */ | 748 #endif /* DYNAMIC_PYTHON */ |
736 | 749 |
737 static int initialised = 0; | 750 static int initialised = 0; |