Loading ...
Sorry, an error occurred while loading the content.

Patch 7.3.581

Expand Messages
  • Bram Moolenaar
    Patch 7.3.581 Problem: Problems compiling with Python. Solution: Pick UCS2 or UCS4 function at runtime. (lilydjwg) Files: src/if_python.c ...
    Message 1 of 1 , Jun 29, 2012
    • 0 Attachment
      Patch 7.3.581
      Problem: Problems compiling with Python.
      Solution: Pick UCS2 or UCS4 function at runtime. (lilydjwg)
      Files: src/if_python.c


      *** ../vim-7.3.580/src/if_python.c 2012-06-29 16:28:23.000000000 +0200
      --- src/if_python.c 2012-06-29 19:10:53.000000000 +0200
      ***************
      *** 196,202 ****
      # define PyString_Size dll_PyString_Size
      # define PyString_Type (*dll_PyString_Type)
      # define PyUnicode_Type (*dll_PyUnicode_Type)
      ! # define PyUnicodeUCS4_AsEncodedString (*dll_PyUnicodeUCS4_AsEncodedString)
      # define PyFloat_AsDouble dll_PyFloat_AsDouble
      # define PyFloat_FromDouble dll_PyFloat_FromDouble
      # define PyFloat_Type (*dll_PyFloat_Type)
      --- 196,203 ----
      # define PyString_Size dll_PyString_Size
      # define PyString_Type (*dll_PyString_Type)
      # define PyUnicode_Type (*dll_PyUnicode_Type)
      ! # undef PyUnicode_AsEncodedString
      ! # define PyUnicode_AsEncodedString py_PyUnicode_AsEncodedString
      # define PyFloat_AsDouble dll_PyFloat_AsDouble
      # define PyFloat_FromDouble dll_PyFloat_FromDouble
      # define PyFloat_Type (*dll_PyFloat_Type)
      ***************
      *** 290,296 ****
      static PyInt(*dll_PyString_Size)(PyObject *);
      static PyTypeObject* dll_PyString_Type;
      static PyTypeObject* dll_PyUnicode_Type;
      ! static PyObject *(*PyUnicodeUCS4_AsEncodedString)(PyObject *, char *, char *);
      static double(*dll_PyFloat_AsDouble)(PyObject *);
      static PyObject*(*dll_PyFloat_FromDouble)(double);
      static PyTypeObject* dll_PyFloat_Type;
      --- 291,297 ----
      static PyInt(*dll_PyString_Size)(PyObject *);
      static PyTypeObject* dll_PyString_Type;
      static PyTypeObject* dll_PyUnicode_Type;
      ! static PyObject *(*py_PyUnicode_AsEncodedString)(PyObject *, char *, char *);
      static double(*dll_PyFloat_AsDouble)(PyObject *);
      static PyObject*(*dll_PyFloat_FromDouble)(double);
      static PyTypeObject* dll_PyFloat_Type;
      ***************
      *** 406,412 ****
      {"PyString_Size", (PYTHON_PROC*)&dll_PyString_Size},
      {"PyString_Type", (PYTHON_PROC*)&dll_PyString_Type},
      {"PyUnicode_Type", (PYTHON_PROC*)&dll_PyUnicode_Type},
      - {"PyUnicodeUCS4_AsEncodedString", (PYTHON_PROC*)&dll_PyUnicodeUCS4_AsEncodedString},
      {"PyFloat_Type", (PYTHON_PROC*)&dll_PyFloat_Type},
      {"PyFloat_AsDouble", (PYTHON_PROC*)&dll_PyFloat_AsDouble},
      {"PyFloat_FromDouble", (PYTHON_PROC*)&dll_PyFloat_FromDouble},
      --- 407,412 ----
      ***************
      *** 471,476 ****
      --- 471,477 ----
      python_runtime_link_init(char *libname, int verbose)
      {
      int i;
      + void *ucs_as_encoded_string;

      #if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3)
      /* Can't have Python and Python3 loaded at the same time.
      ***************
      *** 506,511 ****
      --- 507,531 ----
      return FAIL;
      }
      }
      +
      + /* Load unicode functions separately as only the ucs2 or the ucs4 functions
      + * will be present in the library. */
      + ucs_as_encoded_string = symbol_from_dll(hinstPython,
      + "PyUnicodeUCS2_AsEncodedString");
      + if (ucs_as_encoded_string == NULL)
      + ucs_as_encoded_string = symbol_from_dll(hinstPython,
      + "PyUnicodeUCS4_AsEncodedString");
      + if (ucs_as_encoded_string != NULL)
      + py_PyUnicode_AsEncodedString = ucs_as_encoded_string;
      + else
      + {
      + close_dll(hinstPython);
      + hinstPython = 0;
      + if (verbose)
      + EMSG2(_(e_loadfunc), "PyUnicode_UCSX_*");
      + return FAIL;
      + }
      +
      return OK;
      }

      *** ../vim-7.3.580/src/version.c 2012-06-29 17:51:58.000000000 +0200
      --- src/version.c 2012-06-29 19:13:47.000000000 +0200
      ***************
      *** 716,717 ****
      --- 716,719 ----
      { /* Add new patch number below this line */
      + /**/
      + 581,
      /**/

      --
      ASCII stupid question, get a stupid ANSI.

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ an exciting new programming language -- http://www.Zimbu.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    Your message has been successfully submitted and would be delivered to recipients shortly.