Mercurial > vim
comparison src/if_python3.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 |
---|---|
158 # define PyDict_Next py3_PyDict_Next | 158 # define PyDict_Next py3_PyDict_Next |
159 # define PyMapping_Check py3_PyMapping_Check | 159 # define PyMapping_Check py3_PyMapping_Check |
160 # define PyMapping_Keys py3_PyMapping_Keys | 160 # define PyMapping_Keys py3_PyMapping_Keys |
161 # define PyIter_Next py3_PyIter_Next | 161 # define PyIter_Next py3_PyIter_Next |
162 # define PyObject_GetIter py3_PyObject_GetIter | 162 # define PyObject_GetIter py3_PyObject_GetIter |
163 # define PyObject_Repr py3_PyObject_Repr | |
163 # define PyObject_GetItem py3_PyObject_GetItem | 164 # define PyObject_GetItem py3_PyObject_GetItem |
164 # define PyObject_IsTrue py3_PyObject_IsTrue | 165 # define PyObject_IsTrue py3_PyObject_IsTrue |
165 # define PyModule_GetDict py3_PyModule_GetDict | 166 # define PyModule_GetDict py3_PyModule_GetDict |
166 #undef PyRun_SimpleString | 167 #undef PyRun_SimpleString |
167 # define PyRun_SimpleString py3_PyRun_SimpleString | 168 # define PyRun_SimpleString py3_PyRun_SimpleString |
209 # define PyFloat_AsDouble py3_PyFloat_AsDouble | 210 # define PyFloat_AsDouble py3_PyFloat_AsDouble |
210 # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr | 211 # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr |
211 # define PyType_Type (*py3_PyType_Type) | 212 # define PyType_Type (*py3_PyType_Type) |
212 # define PySlice_Type (*py3_PySlice_Type) | 213 # define PySlice_Type (*py3_PySlice_Type) |
213 # define PyFloat_Type (*py3_PyFloat_Type) | 214 # define PyFloat_Type (*py3_PyFloat_Type) |
215 # define PyNumber_Check (*py3_PyNumber_Check) | |
216 # define PyNumber_Long (*py3_PyNumber_Long) | |
214 # define PyBool_Type (*py3_PyBool_Type) | 217 # define PyBool_Type (*py3_PyBool_Type) |
215 # define PyErr_NewException py3_PyErr_NewException | 218 # define PyErr_NewException py3_PyErr_NewException |
216 # ifdef Py_DEBUG | 219 # ifdef Py_DEBUG |
217 # define _Py_NegativeRefcount py3__Py_NegativeRefcount | 220 # define _Py_NegativeRefcount py3__Py_NegativeRefcount |
218 # define _Py_RefTotal (*py3__Py_RefTotal) | 221 # define _Py_RefTotal (*py3__Py_RefTotal) |
308 static int (*py3_PyDict_Next)(PyObject *, Py_ssize_t *, PyObject **, PyObject **); | 311 static int (*py3_PyDict_Next)(PyObject *, Py_ssize_t *, PyObject **, PyObject **); |
309 static PyObject* (*py3_PyLong_FromLong)(long); | 312 static PyObject* (*py3_PyLong_FromLong)(long); |
310 static PyObject* (*py3_PyDict_New)(void); | 313 static PyObject* (*py3_PyDict_New)(void); |
311 static PyObject* (*py3_PyIter_Next)(PyObject *); | 314 static PyObject* (*py3_PyIter_Next)(PyObject *); |
312 static PyObject* (*py3_PyObject_GetIter)(PyObject *); | 315 static PyObject* (*py3_PyObject_GetIter)(PyObject *); |
316 static PyObject* (*py3_PyObject_Repr)(PyObject *); | |
313 static PyObject* (*py3_PyObject_GetItem)(PyObject *, PyObject *); | 317 static PyObject* (*py3_PyObject_GetItem)(PyObject *, PyObject *); |
314 static int (*py3_PyObject_IsTrue)(PyObject *); | 318 static int (*py3_PyObject_IsTrue)(PyObject *); |
315 static PyObject* (*py3_Py_BuildValue)(char *, ...); | 319 static PyObject* (*py3_Py_BuildValue)(char *, ...); |
316 static int (*py3_PyType_Ready)(PyTypeObject *type); | 320 static int (*py3_PyType_Ready)(PyTypeObject *type); |
317 static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item); | 321 static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item); |
363 static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds); | 367 static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds); |
364 static PyTypeObject* py3_PyType_Type; | 368 static PyTypeObject* py3_PyType_Type; |
365 static PyTypeObject* py3_PySlice_Type; | 369 static PyTypeObject* py3_PySlice_Type; |
366 static PyTypeObject* py3_PyFloat_Type; | 370 static PyTypeObject* py3_PyFloat_Type; |
367 static PyTypeObject* py3_PyBool_Type; | 371 static PyTypeObject* py3_PyBool_Type; |
372 static int (*py3_PyNumber_Check)(PyObject *); | |
373 static PyObject* (*py3_PyNumber_Long)(PyObject *); | |
368 static PyObject* (*py3_PyErr_NewException)(char *name, PyObject *base, PyObject *dict); | 374 static PyObject* (*py3_PyErr_NewException)(char *name, PyObject *base, PyObject *dict); |
369 static PyObject* (*py3_PyCapsule_New)(void *, char *, PyCapsule_Destructor); | 375 static PyObject* (*py3_PyCapsule_New)(void *, char *, PyCapsule_Destructor); |
370 static void* (*py3_PyCapsule_GetPointer)(PyObject *, char *); | 376 static void* (*py3_PyCapsule_GetPointer)(PyObject *, char *); |
371 # ifdef Py_DEBUG | 377 # ifdef Py_DEBUG |
372 static void (*py3__Py_NegativeRefcount)(const char *fname, int lineno, PyObject *op); | 378 static void (*py3__Py_NegativeRefcount)(const char *fname, int lineno, PyObject *op); |
397 static PyObject *p3imp_PyExc_KeyboardInterrupt; | 403 static PyObject *p3imp_PyExc_KeyboardInterrupt; |
398 static PyObject *p3imp_PyExc_TypeError; | 404 static PyObject *p3imp_PyExc_TypeError; |
399 static PyObject *p3imp_PyExc_ValueError; | 405 static PyObject *p3imp_PyExc_ValueError; |
400 static PyObject *p3imp_PyExc_RuntimeError; | 406 static PyObject *p3imp_PyExc_RuntimeError; |
401 static PyObject *p3imp_PyExc_ImportError; | 407 static PyObject *p3imp_PyExc_ImportError; |
408 static PyObject *p3imp_PyExc_OverflowError; | |
402 | 409 |
403 # define PyExc_AttributeError p3imp_PyExc_AttributeError | 410 # define PyExc_AttributeError p3imp_PyExc_AttributeError |
404 # define PyExc_IndexError p3imp_PyExc_IndexError | 411 # define PyExc_IndexError p3imp_PyExc_IndexError |
405 # define PyExc_KeyError p3imp_PyExc_KeyError | 412 # define PyExc_KeyError p3imp_PyExc_KeyError |
406 # define PyExc_KeyboardInterrupt p3imp_PyExc_KeyboardInterrupt | 413 # define PyExc_KeyboardInterrupt p3imp_PyExc_KeyboardInterrupt |
407 # define PyExc_TypeError p3imp_PyExc_TypeError | 414 # define PyExc_TypeError p3imp_PyExc_TypeError |
408 # define PyExc_ValueError p3imp_PyExc_ValueError | 415 # define PyExc_ValueError p3imp_PyExc_ValueError |
409 # define PyExc_RuntimeError p3imp_PyExc_RuntimeError | 416 # define PyExc_RuntimeError p3imp_PyExc_RuntimeError |
410 # define PyExc_ImportError p3imp_PyExc_ImportError | 417 # define PyExc_ImportError p3imp_PyExc_ImportError |
418 # define PyExc_OverflowError p3imp_PyExc_OverflowError | |
411 | 419 |
412 /* | 420 /* |
413 * Table of name to function pointer of python. | 421 * Table of name to function pointer of python. |
414 */ | 422 */ |
415 # define PYTHON_PROC FARPROC | 423 # define PYTHON_PROC FARPROC |
467 {"PyDict_Next", (PYTHON_PROC*)&py3_PyDict_Next}, | 475 {"PyDict_Next", (PYTHON_PROC*)&py3_PyDict_Next}, |
468 {"PyMapping_Check", (PYTHON_PROC*)&py3_PyMapping_Check}, | 476 {"PyMapping_Check", (PYTHON_PROC*)&py3_PyMapping_Check}, |
469 {"PyMapping_Keys", (PYTHON_PROC*)&py3_PyMapping_Keys}, | 477 {"PyMapping_Keys", (PYTHON_PROC*)&py3_PyMapping_Keys}, |
470 {"PyIter_Next", (PYTHON_PROC*)&py3_PyIter_Next}, | 478 {"PyIter_Next", (PYTHON_PROC*)&py3_PyIter_Next}, |
471 {"PyObject_GetIter", (PYTHON_PROC*)&py3_PyObject_GetIter}, | 479 {"PyObject_GetIter", (PYTHON_PROC*)&py3_PyObject_GetIter}, |
480 {"PyObject_Repr", (PYTHON_PROC*)&py3_PyObject_Repr}, | |
472 {"PyObject_GetItem", (PYTHON_PROC*)&py3_PyObject_GetItem}, | 481 {"PyObject_GetItem", (PYTHON_PROC*)&py3_PyObject_GetItem}, |
473 {"PyObject_IsTrue", (PYTHON_PROC*)&py3_PyObject_IsTrue}, | 482 {"PyObject_IsTrue", (PYTHON_PROC*)&py3_PyObject_IsTrue}, |
474 {"PyLong_FromLong", (PYTHON_PROC*)&py3_PyLong_FromLong}, | 483 {"PyLong_FromLong", (PYTHON_PROC*)&py3_PyLong_FromLong}, |
475 {"PyDict_New", (PYTHON_PROC*)&py3_PyDict_New}, | 484 {"PyDict_New", (PYTHON_PROC*)&py3_PyDict_New}, |
476 {"PyType_Ready", (PYTHON_PROC*)&py3_PyType_Ready}, | 485 {"PyType_Ready", (PYTHON_PROC*)&py3_PyType_Ready}, |
516 {"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew}, | 525 {"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew}, |
517 {"PyType_Type", (PYTHON_PROC*)&py3_PyType_Type}, | 526 {"PyType_Type", (PYTHON_PROC*)&py3_PyType_Type}, |
518 {"PySlice_Type", (PYTHON_PROC*)&py3_PySlice_Type}, | 527 {"PySlice_Type", (PYTHON_PROC*)&py3_PySlice_Type}, |
519 {"PyFloat_Type", (PYTHON_PROC*)&py3_PyFloat_Type}, | 528 {"PyFloat_Type", (PYTHON_PROC*)&py3_PyFloat_Type}, |
520 {"PyBool_Type", (PYTHON_PROC*)&py3_PyBool_Type}, | 529 {"PyBool_Type", (PYTHON_PROC*)&py3_PyBool_Type}, |
530 {"PyNumber_Check", (PYTHON_PROC*)&py3_PyNumber_Check}, | |
531 {"PyNumber_Long", (PYTHON_PROC*)&py3_PyNumber_Long}, | |
521 {"PyErr_NewException", (PYTHON_PROC*)&py3_PyErr_NewException}, | 532 {"PyErr_NewException", (PYTHON_PROC*)&py3_PyErr_NewException}, |
522 # ifdef Py_DEBUG | 533 # ifdef Py_DEBUG |
523 {"_Py_NegativeRefcount", (PYTHON_PROC*)&py3__Py_NegativeRefcount}, | 534 {"_Py_NegativeRefcount", (PYTHON_PROC*)&py3__Py_NegativeRefcount}, |
524 {"_Py_RefTotal", (PYTHON_PROC*)&py3__Py_RefTotal}, | 535 {"_Py_RefTotal", (PYTHON_PROC*)&py3__Py_RefTotal}, |
525 {"_Py_Dealloc", (PYTHON_PROC*)&py3__Py_Dealloc}, | 536 {"_Py_Dealloc", (PYTHON_PROC*)&py3__Py_Dealloc}, |
670 p3imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt"); | 681 p3imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt"); |
671 p3imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError"); | 682 p3imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError"); |
672 p3imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError"); | 683 p3imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError"); |
673 p3imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError"); | 684 p3imp_PyExc_RuntimeError = PyDict_GetItemString(exdict, "RuntimeError"); |
674 p3imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError"); | 685 p3imp_PyExc_ImportError = PyDict_GetItemString(exdict, "ImportError"); |
686 p3imp_PyExc_OverflowError = PyDict_GetItemString(exdict, "OverflowError"); | |
675 Py_XINCREF(p3imp_PyExc_AttributeError); | 687 Py_XINCREF(p3imp_PyExc_AttributeError); |
676 Py_XINCREF(p3imp_PyExc_IndexError); | 688 Py_XINCREF(p3imp_PyExc_IndexError); |
677 Py_XINCREF(p3imp_PyExc_KeyError); | 689 Py_XINCREF(p3imp_PyExc_KeyError); |
678 Py_XINCREF(p3imp_PyExc_KeyboardInterrupt); | 690 Py_XINCREF(p3imp_PyExc_KeyboardInterrupt); |
679 Py_XINCREF(p3imp_PyExc_TypeError); | 691 Py_XINCREF(p3imp_PyExc_TypeError); |
680 Py_XINCREF(p3imp_PyExc_ValueError); | 692 Py_XINCREF(p3imp_PyExc_ValueError); |
681 Py_XINCREF(p3imp_PyExc_RuntimeError); | 693 Py_XINCREF(p3imp_PyExc_RuntimeError); |
682 Py_XINCREF(p3imp_PyExc_ImportError); | 694 Py_XINCREF(p3imp_PyExc_ImportError); |
695 Py_XINCREF(p3imp_PyExc_OverflowError); | |
683 Py_XDECREF(exmod); | 696 Py_XDECREF(exmod); |
684 } | 697 } |
685 #endif /* DYNAMIC_PYTHON3 */ | 698 #endif /* DYNAMIC_PYTHON3 */ |
686 | 699 |
687 static int py3initialised = 0; | 700 static int py3initialised = 0; |